2022年 11月 7日

Python批量修改文件名

python 对文件进行批量改名用到的是 os 模块中的 listdir 方法和 rename 方法。

  • os.listdir(dir) : 获取指定目录下的所有子目录和文件名
  • os.rename(原文件名,新文件名) : 对文件或目录改名

通过自定义文件的前缀、后缀和文件开始数目(目录不修改),把混乱的文件名改成有序的文件名,代码如下。

  1. import os
  2. path = input('请输入文件夹路径:')
  3. prefix = input('请输入文件名前缀:')
  4. suffix = input('请输入文件名后缀:')
  5. # 获取该目录下所有文件,存入列表中
  6. fileList = os.listdir(path)
  7. m = int(input('请输入开始数:')) # python中input函数默认返回一个字符串,需强制转化为整数
  8. n = m
  9. for inner_file in fileList:
  10. # 获取旧文件名(就是路径+文件名)
  11. old_name = path + os.sep + inner_file # os.sep添加系统分隔符
  12. if os.path.isdir(old_name): # 如果是目录则跳过
  13. continue
  14. # 设置新文件名
  15. new_name = path + os.sep + prefix + str(n) + suffix
  16. os.rename(old_name, new_name) # 用os模块中的rename方法对文件改名
  17. n += 1
  18. print("共修改了", n-m, "个文件。")

运行实例:

修改前文件夹

 运行代码

 修改后的文件夹:

参考资料:https://www.runoob.com/note/27030