在读取文本文件时发生UnicodeDecodeError(字符映射到

编程语言 2026-07-10

在VS Code中,我把一个Python文件和一个文本文件放在同一个文件夹里,并且有如下代码:

intro_doc = open("0_intro.txt","r")
intro_text = intro_doc.readlines()
print(intro_text)
intro_text.close

我原本以为它只会把文本文件打印出来,结果却得到

UnicodeDecodeError: 'charmap' 编解码器在位置730无法解码字节0x9d:字符映射为

我不知道这意味着什么。

解决方案

UnicodeDecodeError 表示Python正在使用错误的文本编码读取该文件。

你的文件可能没有被默认的Windows编码正确解码,因此请显式指定一种编码:

with open("0_intro.txt", "r", encoding="utf-8") as intro_doc:
    print(intro_doc.read())

如果仍然失败,请尝试 encoding="cp1252"

另外,intro_text.close 也不正确:

  • intro_text 是一个列表,而不是这个文件
  • close 需要圆括号
  • 使用 with open(...) 更好,因为它会自动关闭文件
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章