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

Windows环境下Python重命名含中文文件报错,求无问题的重命名函数

Windows下Python处理中文文件夹重命名的解决方案

错误信息里的\xe6\x9c\xba\xe5\x8f\xb0\xe8\xb5\x84\xe6\x96\x99\xef\xbc\x89是中文「机台资料」的UTF-8字节编码,本质是Windows系统下路径编码转换导致的识别问题,os.rename和shutil.move本身支持中文路径,只需调整路径处理方式即可解决,以下是可行方案:

  • 验证路径有效性
    先确认目标文件夹确实存在,避免路径拼写、全半角符号或目录位置错误(比如部分系统的temp目录在C:\Users\<用户名>\AppData\Local\Temp而非根目录)。可以打印路径信息核对:

    import os
    old_path = r'C:\temp\weight机台资料'
    print("原始路径:", old_path)
    print("路径编码:", old_path.encode('utf-8'))
    

    若打印的编码与错误信息中的一致,说明路径本身无误,否则需修正路径输入。

  • 使用Unicode路径前缀
    在Windows中,给路径添加\\?\前缀可强制系统用Unicode处理路径,绕过默认编码转换,避免中文乱码导致的「找不到文件」问题:

    import os
    old_path = r'\\?\C:\temp\weight机台资料'
    new_path = r'\\?\C:\temp\weight'
    os.rename(old_path, new_path)
    

    用shutil.move时同样适用:

    import shutil
    old_path = r'\\?\C:\temp\weight机台资料'
    new_path = r'\\?\C:\temp\weight'
    shutil.move(old_path, new_path)
    
  • 检查环境配置

    • 确保使用Python 3.x版本(Python 2的编码问题更突出);
    • 运行import sys; print(sys.getdefaultencoding())确认默认编码为utf-8;
    • 若脚本无权限修改目标目录,右键以管理员身份运行Python脚本。

内容的提问来源于stack exchange,提问作者Mukkiman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 06:22:21