利用Python对文件进行批量重命名

最近几天工作的内容是对40个项目进行考核,每个项目都需要一个考核评分表,已经有了项目的列表。

如果用常规的方法,需要复制40个文件,并逐个修改,不光工作量大,也容易出错,后期修改也不方便。

于是想到了用Word的邮件合并功能,用Word控制评分表的样式,用Excel控制评分表中的内容。

关于邮件合计的内容参考以下教程:

https://jingyan.baidu.com/article/335530da51745219cb41c3ea.html

合并完成后所有的内容都在同一个文件内,需要对其进行拆分,每个表为一个单独的文件。关于拆分参考以下教程:

https://jingyan.baidu.com/article/37bce2be16dbc81002f3a235.html

注意:需要把第一行设置成标题。另外:文档拆分有一个缺点,就是独立生成的文档中,会出现空白页,这是因为【文档拆分】的过程中自动生成了新的【分节符(连接)】,可以分别进行手动删除。

拆分完成后,文件名不符合要求,需要进行批量重命名,重命名脚本使用Python编写,具体代码如下:

import os


def rename():
    with open(r"I:Work3_项目2018_05_考核1组策划考核ok文件名.txt", encoding='UTF-8') as f:
        str = f.readlines()  # 新文件名按行保存
    path = r"I:Work3_项目2018_05_考核1组策划考核重命名"  # 要重命名的文件路径
    filelist = os.listdir(path)  # 该文件夹下所有的文件(包括文件夹)
    filelist.sort(key=lambda x: int(x[3:-4]))  # 对文件进行排序,忽略前面的汉字及扩展名
    i = 0
    for files in filelist:  # 遍历所有文件
        Olddir = os.path.join(path, files)  # 原来的文件路径
        if os.path.isdir(Olddir):  # 如果是文件夹则跳过
            continue
        filetype = os.path.splitext(files)[1]  # 文件扩展名
        Newdir = os.path.join(path, str[i].strip('
') + filetype)  # 新的文件路径
        os.rename(Olddir, Newdir)  # 重命名
        i = i + 1


rename()

原文地址:https://www.cnblogs.com/civil/p/9082689.html