读取文本文件时出现 UnicodeDecodeError

2023-12-10

我是Python的初学者(我使用的是3.4)。这是我的代码的相关部分。

fileObject = open("countable nouns raw.txt", "rt")
bigString = fileObject.read()
fileObject.close()

每当我尝试读取该文件时,我都会得到:

UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 82273: character maps to <undefined>

我一直在阅读,这似乎与我的默认编码与文本文件编码不匹配有关。我在另一篇文章中读到,您可以使用此方法来读取具有特定编码的文件:

import codecs
f = codecs.open("file.txt", "r", "utf-8")

但你必须提前知道。问题是我不知道文本文件是如何编码的。一些帖子建议使用 Chardet。我已经安装了它,但我不知道如何让它读取文本文件。

关于如何解决这个问题有什么想法吗?


没有必要使用codecs.open();这是对 Python 2 的建议。

在Python 3中open()需要一个encoding争论:

fileObject = open("countable nouns raw.txt", "rt", encoding='utf8')

当然,这确实需要您知道该文件使用了什么编解码器。一般来说,Python 想要解决这个问题并不容易。各个文件格式可能包含编解码器信息或对给定编解码器进行标准化,但如果您有一个通用文本文件,则必须弄清楚创建它的内容以及用于写入数据的编解码器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

读取文本文件时出现 UnicodeDecodeError 的相关文章

随机推荐