将文件夹中所有特定后缀的文件都重命名为同一指定名称
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。 而如果文件夹中包含有其他后缀的文件则名称不会被更改