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

VS Code中Python读取同目录文本文件触发UnicodeDecodeError问题求助

解决Python读取文本文件时的UnicodeDecodeError错误

这个错误本质是:Python默认用的编码(比如Windows系统下的charmap)没法识别你文本文件里的某些字符,那个0x9d字节在默认编码里找不到对应的字符映射,所以就抛出了解码失败的错误。

另外先提个小细节:你代码最后一行写的intro_text.close是错的——intro_text是读取到的文本列表,不是文件对象,应该调用intro_doc.close()(注意要加括号,因为close是方法)。不过更稳妥的写法是用with语句,它会自动帮你关闭文件,不用手动操心遗漏。

下面给你几个可行的解决办法:

  • 指定正确编码打开文件
    最常用的是UTF-8编码,直接修改open函数的参数即可:

    # 指定utf-8编码打开,同时用with语句自动管理文件
    with open("0_intro.txt", "r", encoding="utf-8") as intro_doc:
        intro_text = intro_doc.readlines()
        print(intro_text)
    

    如果UTF-8不行,可以试试GBK、GB2312这类中文常用编码,根据文件的实际编码调整。

  • 先检测文件的真实编码
    如果你不确定文件用的是什么编码,可以用chardet库来检测:

    1. 先安装库:pip install chardet
    2. 执行检测代码:
    import chardet
    
    with open("0_intro.txt", "rb") as f:
        detect_result = chardet.detect(f.read())
    print(f"文件检测出的编码是:{detect_result['encoding']}")
    

    拿到检测结果后,用对应的编码去打开文件就能解决问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 09:17:36