用os模块实现python文件名批量操作-简单版

大家工作与学习的工程中肯定会有一些文件操作
最基本的额就是对os模块的,经常使用的如下平时得自己去发现

os.rename(需要修改的文件名, 新的文件名) 重命名文件
os.remove() 删除文件

os.mkdir() 创建文件夹

os.getcwd() 获取当前目录

os.chdir() 改变默认目录

os.listdir() 获取目录列表

os.rmdir() 删除文件夹

os.path.basename()  去掉目录路径,返回文件名

os.path.dirname()   去掉文件名,返回目录路径

os.path.join()  将分离的各部分组合成一个路径名

os.path.split()  返回(dirname(),basename())元组

os.path.splitnext()  返回(filename,extension)元组

os.path.getatime\ctime\mtime  分别返回最近访问、创建、修改时间

os.path.getsize()  返回文件大小

os.path.exists()  是否存在

os.path.isabs()  是否为绝对路径

os.path.isdir()  是否为目录

os.path.isfile()  是否为文件

我的代码如下,大家只需要对部分文件名进行规则判断,然后指定新文件名的规则即可

import os
total_file_nums=0
avi_file_nums=0
# os.rename(src,dst,src_dir_fd,dst_dir_fd)

def scan_path(ph):
    file_list = os.listdir(ph)
    for obj in file_list:
        obj = os.path.join(ph, obj)
        if os.path.isfile(obj):
            global total_file_nums
            global avi_file_nums
            total_file_nums = 1 + total_file_nums
            name = os.path.basename(obj)
            if name.split('.')[-1] == 'mp4':
                '''在这里判断是否是avi文件'''
                avi_file_nums += 1
                print(name)
                # new_name = name[14:-3]+"_0_1.mp4"
                # new_name = name.replace("._0_1.mp4","_0_1.mp4")
                # new_obj = os.path.join(ph,new_name)
                os.rename(obj,new_obj)
                # print(name[20:-4])

                #In [7]: '2019-06-17-10-50-07-13380.jpg'[20:-4]
                #Out[7]: '13380'
        elif os.path.isdir(obj):
            # print(obj)
            scan_path(obj)
if __name__ == "__main__":
    path =r'D:\Program Files (x86)\smartpps\Smart Professional Surveillance System\SmartPSS\Record\DownLoad'
    try:
        scan_path(path)
    except Exception as e:
        print(e)
    
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值