python批量修改文件名
wx62c625022e0c1 人气:01. 程序背景
之前做文件批量移动的时候不小心多加了一个pdf后缀,但问题不大,几行代码就可以搞定~
2. 程序要求
将以下目录中文件夹中的有问题的文件全部重命名为单个.pdf结尾的文件
3. 解决思路
需要用到 os、re 和 shutil 三个库,均为系统自带,无需安装
- 使用 os 库得到年份的文件夹名,以及年份文件夹中的文件名
- 使用正则表达式 re 将“.pdf.pdf”全部替换为“.pdf”
- 拼接出文件路径后使用 shutil 库 的rename函数进行重命名操作
4. 完整代码
#导入需要的库 import os import re import shutil path = r'E:\课题\wrongfile1729\wrongfile' #传入文件地址 year_file_li = os.listdir(path) # 得到年份文件夹列表 for year in year_file_li: # 便利所有年份 year_path = path + '\\' + year # 拼接出年份文件夹的地址 file_li = os.listdir(year_path) # 得到年份文件夹中的文件名称列表 for file in file_li: # 遍历每一个年份文件夹中的文件 wash_name = re.sub('.pdf.pdf', '.pdf', file, re.DOTALL) # 文件名修改 old_path = year_path + '\\' + file # 拼接出旧文件地址 new_path = year_path + '\\' + wash_name # 拼接出新文件地址 shutil.move(old_path, new_path) # 进行文件重命名操作
5. 运行结果
修改完成~
6. 总结
代码的核心有三点,分别是:
- os 库得到文件名列表
- re 库得到新文件名
- shutil 库对文件进行重命名
加载全部内容