You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:25:28