将文件夹中所有特定后缀的文件都重命名为同一指定名称

import os
def suffix_rename(suffix, dir_path, des_name):
    """将特定后缀名的文件改为统一的文件名

    Args:
        suffix (str): 要改名的后缀的名字,不要加 `.`
        dir_path (str): 要改名的目录,文件都包含在该目录中
        des_name (str): 要改为的文件名
    """
    for root, dirs, files in os.walk(dir_path):
        for i in files:
            if i.split('.')[-1]==suffix:
                src = root+"/"+i
                des = root+"/"+des_name
                os.rename(src, des)
                print(src + " ->" + des)

测试


运行前的目录结构

dir_sql/
├── 1
│   └── test1.sql
├── 2
│   └── test2.sql
├── 3
│   └── test3.sql
└── 4
    └── test4.sql

运行后

dir_sql/
├── 1
│   └── test.sql
├── 2
│   └── test.sql
├── 3
│   └── test.sql
└── 4
    └── test.sql

将所有的 test1.sql, test2.sql, test3.sql, test4.sql 都改为了统一的 test.sql。 而如果文件夹中包含有其他后缀的文件则名称不会被更改

posted @ 2020-10-12 17:12  何大卫  阅读(533)  评论(0编辑  收藏  举报