如何用python批量改文件名

 我来答
tufeididi007
2017-10-02 · TA获得超过2125个赞
知道大有可为答主
回答量:2698
采纳率:76%
帮助的人:1245万
展开全部

首先你要有一个遍历目录的方法

之前帮别人筛文件写的, 没优化~

#遍历目录过滤指定类型和大小的文件
def walkDir(file_dir, format=None, size=0):
    tmp_list = []
    file_list = os.listdir(file_dir)
    for file in file_list:
        path = os.path.join(file_dir, file)
        if os.path.isdir(path):
            #目录递归
            tmp_list += walkDir(path, format, size)
        else:
            #过滤文件类型大小
            if format == None:
                if size == 0:
                    tmp_list.append(path)
                elif os.path.getsize(path) >= 1024 * size:
                    tmp_list.append(path)
            elif os.path.splitext(file)[-1][1:] == format:
                if size == 0:
                    tmp_list.append(path)
                elif os.path.getsize(path) >= 1024 * size:
                    tmp_list.append(path)
    return tmp_list

不过, 鉴于目录文件可能加多, 建议根据下面的方法, 做成生成器

def walk_all_gen(f_path):
    file_list = os.listdir(f_path)
    for i in file_list:
        full_path = os.path.join(f_path, i)
        if os.path.isdir(full_path):
            # 这里进行递归, py版本足够高的话, for循环可以简写为
            # yield from walk_all_gen(full_path)
            for i in walk_all_gen(full_path):
                yield i
        else:
            # 此处中断返回文件路径, 判断什么的可在此处进行
            yield full_path
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式