Python实现批量替换指定文件夹内实际文件名的指定子串
Python批量替换文件名指定子串实现方案
你现有代码已经完成了目标路径的定义和路径下条目列表的获取,只需要补充遍历校验、文件名替换、重命名执行逻辑即可实现需求。
完整实现代码
import os path = '/Users/user/Desktop/folder_name' # 配置待替换的旧子串、替换后的新子串 old_substr = "20220331" new_substr = "20220630" for filename in os.listdir(path): # 拼接文件的完整旧路径 old_full_path = os.path.join(path, filename) # 跳过子目录,仅处理文件 if os.path.isfile(old_full_path): # 匹配到包含目标子串的文件才执行替换 if old_substr in filename: new_filename = filename.replace(old_substr, new_substr) new_full_path = os.path.join(path, new_filename) # 执行重命名 os.rename(old_full_path, new_full_path) print(f"重命名完成:{filename} -> {new_filename}")
使用提示
- 首次运行建议先注释
os.rename(old_full_path, new_full_path)这行代码,此时程序只会打印预计的文件名修改对应关系,不会实际改动文件,确认替换规则无误后再放开注释正式执行 - 运行前建议备份目标文件夹文件,避免规则配置错误导致文件名混乱
- 如果你实际需要替换的是示例里的
20220330字段,直接修改old_substr的赋值即可,其余逻辑不需要调整 - 代码自动过滤子目录,不会修改文件夹名称
内容的提问来源于stack exchange,提问作者amar96
相关产品推荐
相关产品推荐

