在Python中,可以通过os
模块和字符串操作实现文件名的字符替换,核心方法是os.rename()
结合str.replace()
或正则表达式,适用于批量修改或特定规则调整。
-
基础替换:字符串方法
使用str.replace()
直接替换文件名中的指定字符,例如将文件名中的空格改为下划线:import os old_name = "file name.txt" new_name = old_name.replace(" ", "_") os.rename(old_name, new_name)
-
正则表达式:复杂规则处理
若需匹配不规则字符(如特殊符号或连续空格),可用re.sub()
灵活替换。例如移除文件名中的数字:import re new_name = re.sub(r"\d+", "", old_name)
-
批量处理:遍历目录文件
结合os.listdir()
和循环,可批量修改目录下所有文件名。注意先检查文件是否存在,避免覆盖:for filename in os.listdir("."): if "old_text" in filename: os.rename(filename, filename.replace("old_text", "new_text"))
-
路径安全处理
替换时需确保文件路径完整,建议使用os.path.join()
拼接路径,避免跨平台兼容性问题。
总结:Python的文件名替换操作灵活高效,关键是根据需求选择字符串方法或正则表达式,批量处理时注意路径安全和异常捕获。