当前位置 : 主页 > 编程语言 > python >

python 自动化办公之批量修改文件名

来源:互联网 收集:自由互联 发布时间:2022-07-20
@[TOC] 1. 程序背景 之前做文件批量移动的时候不小心多加了一个pdf后缀,但问题不大,几行代码就可以搞定~ 2. 程序要求 将以下目录中文件夹中的有问题的文件全部重命名为单个.pdf结尾

@[TOC]

1. 程序背景

之前做文件批量移动的时候不小心多加了一个pdf后缀,但问题不大,几行代码就可以搞定~1.png

2. 程序要求

将以下目录中文件夹中的有问题的文件全部重命名为单个.pdf结尾的文件2.png

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. 运行结果

    3.png修改完成~

    6. 总结

    代码的核心有三点,分别是

    • os 库得到文件名列表
    • re 库得到新文件名
    • shutil 库对文件进行重命名
    网友评论