1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import os
- """@@@@@设置路径@@@@@"""
- # 设置根文件夹路径,将这里的路径更改为您要操作的根文件夹路径
- root_folder = "/Users/admin/Downloads/2022年度领导班子总结和干部个人述职报告的(首批人名)"
- # 打开新旧文件名对应的文本文件
- """@@@@@设置新旧对比文件名@@@@@"""
- with open("list.txt", "r", encoding="utf-8") as file:
- rename_dict = {}
- # 逐行读取文件,解析旧文件名和新文件名的对应关系,保存到字典中
- for line in file:
- """ @@@@@ 设置分隔符 @@@@@ """
- old_name, new_name = line.strip().split(" ") # 分离每行的旧文件名和新文件名
- rename_dict[old_name] = new_name # 将旧文件名作为键,新文件名作为值,保存到字典中
- # 递归遍历文件夹
- for root, dirs, files in os.walk(root_folder):
- for filename in files:
- old_file_path = os.path.join(root, filename) # 构建旧文件的完整路径
- if filename in rename_dict: # 检查当前文件名是否有对应的新文件名
- new_filename = rename_dict[filename] # 获取新文件名
- new_file_path = os.path.join(root, new_filename) # 构建新文件的完整路径
- try:
- os.rename(old_file_path, new_file_path) # 使用 os.rename() 函数将旧文件名替换为新文件名
- print(f"Renamed '{filename}' to '{new_filename}'")
- log1 = open("log.txt", "a", encoding="utf-8")
- log1.write(f"{filename},{new_filename},成功\n")
- except FileExistsError as err:
- count = 1
- base, ext, = os.path.splitext(new_filename)
- while True:
- new_filename = f"{base} ({count}){ext}"
- new_file_path = os.path.join(root, new_filename)
- try:
- os.rename(old_file_path, new_file_path)
- print(f"Renamed '{filename}' to '{new_filename}'{err}")
- log2 = open("log.txt", "a", encoding="utf-8")
- log2.write(f"{filename},{new_filename},{err}序号增加成功\n")
- break
- except FileExistsError as eerr:
- count += 1
- print(f"Skipped '{filename}' because '{new_filename}' already exists.")
- log3 = open("log.txt", "a", encoding="utf-8")
- log3.write(f"{filename},{new_filename},错误:{eerr}\n")
- print("Renaming completed.")
|