python 对文件进行批量改名用到的是 os 模块中的 listdir 方法和 rename 方法。
- os.listdir(dir) : 获取指定目录下的所有子目录和文件名
- os.rename(原文件名,新文件名) : 对文件或目录改名
通过自定义文件的前缀、后缀和文件开始数目(目录不修改),把混乱的文件名改成有序的文件名,代码如下。
import os path = input('请输入文件夹路径:') prefix = input('请输入文件名前缀:') suffix = input('请输入文件名后缀:') sort_choice = input('请选择排序方式(1:按名称,2:按文件创建时间,直接回车默认按名称):') # 获取该目录下所有文件,存入列表中 fileList = os.listdir(path) # 根据选择的排序方式对文件列表排序 if sort_choice == '2': fileList.sort(key=lambda f: os.path.getctime(os.path.join(path, f))) else: fileList.sort() m = int(input('请输入开始数:')) # python中input函数默认返回一个字符串,需强制转化为整数 n = m for inner_file in fileList: # 获取旧文件名(就是路径+文件名) old_name = os.path.join(path, inner_file) if os.path.isdir(old_name): # 如果是目录则跳过 continue # 设置新文件名 new_name = os.path.join(path, prefix + str(n) + suffix) os.rename(old_name, new_name) # 用os模块中的rename方法对文件改名 n += 1 print("共修改了", n - m, "个文件。")运行实例:
修改前文件夹
运行代码
修改后的文件夹:
参考资料:https://www.runoob.com/note/27030