Python中重命名含中文字符的文件问题求助
解决中文文件重命名时的“找不到文件”问题
嘿,这个坑我之前踩过!你遇到的The system cannot find the file specified错误,核心原因很简单:os.listdir()返回的只是单纯的文件名,不是文件的完整路径,Python会默认在当前运行脚本的工作目录里找这些文件,自然找不到桌面文件夹里的文件啦~
修正后的代码
直接给你改好的版本,关键是要拼接文件的完整路径:
import os # 先把目标文件夹路径存成变量,方便后续使用 target_folder = r"C:\Users\mas\Desktop\" for filename in os.listdir(target_folder): # 先过滤出以“你好”开头的文件(顺便排除文件夹,避免误操作) if filename.startswith("你好") and os.path.isfile(os.path.join(target_folder, filename)): # 拼接旧文件的完整路径 old_full_path = os.path.join(target_folder, filename) # 拼接新文件的完整路径(这里的filename[7:]要确保切片逻辑符合你的需求哦) new_full_path = os.path.join(target_folder, filename[7:]) # 执行重命名 os.rename(old_full_path, new_full_path)
几个关键注意点
- 必须用
os.path.join()拼接路径:它会自动适配Windows的\和Linux的/分隔符,比手动拼字符串靠谱多了 - 一定要传入完整路径给
os.rename():不管是旧文件名还是新文件名,都得带上文件夹路径 - 可选的
os.path.isfile()判断:避免把文件夹也当成文件来重命名,减少误操作风险 - 检查切片逻辑:确认
filename[7:]是你想要的新文件名格式,比如如果原文件名是“你好 Hello.txt”,filename[7:]会得到“lo.txt”?不对的话要调整索引哦~
内容的提问来源于stack exchange,提问作者Mas
相关产品推荐
相关产品推荐

