Python批量重命名文件需遵循“批量+规则+安全”原则:先明确规则(序号/时间/关键词提取),用正则预验证,统一处理中文与特殊字符,保留扩展名;必须实现预览模式(如--dry-run)、pathlib路径操作、冲突检测、存在性检查及轻量日志备份。
重命名大量文件,核心是“批量+规则+安全”,Python用os和pathlib就能稳稳搞定,关键不在写代码,而在设计好规则、预览机制和防误操作逻辑。
别一上来就敲os.rename()。先想清楚:是按序号(如photo_001.jpg)、按时间(20250520_1432_IMG1234.jpg)、还是提取原名关键词(把截图-2025-05-18-下午2.30.15.png变成screen_20250518_1430.png)?规则越具体,脚本越可靠。
repl.it或regex101.com里验证模式.jpg)真正健壮的脚本,运
行前必须打印出“将要怎么改”,让用户确认。这不是多此一举,而是防止手抖选错目录或规则写崩。
--dry-run参数(用argparse),开启后只打印变更列表,不执行重命名old → new,每行一条,带序号,便于快速核对file.jpg),说明规则有冲突,立刻中止pathlib代替os.path,代码更清晰少出错pathlib是Python 3.4+推荐的路径操作方式,对象化操作读起来像自然语言,也自动处理跨平台路径分隔符问题。
list(Path(".").glob("*.jpg"))
new_path = file.parent / f"IMG_{i:03d}{file.suffix}"
if not new_path.exists(): ...
对重要文件夹,可选生成一个轻量级“重命名日志”(CSV或TXT),记录旧名→新名→时间戳。不需要备份整个文件,但万一出错,5分钟就能手动还原。
2025-05-20 14:22:03,report_v1.pdf,report_20250520.pdf
--undo参数,读取日志反向恢复(注意:仅适用于单次连续执行且无中间改动)基本上就这些。不复杂,但容易忽略预览和路径安全——写完跑一次--dry-run,比调试三小时强得多。