下面的语句从一个文件中填充一个列表:
action = []
with open (os.getcwd() + "/files/" + "actions.txt") as temp:
action = list (temp)
给我以下错误:
(result, consumed) = self._buffer_decode (data, self.errors, end)
UnicodeDecodeError: 'utf-8' codec can not decode byte 0xf1 in position 67: invalid continuation byte
如果我添加 errors = 'ignore'
:
action = []
with open (os.getcwd () + "/ files /" + "actions.txt", errors = 'ignore') as temp:
action = list (temp)
是读取文件而不是 ñ
和重音元音 á-é-í-ó-ú
作为 python 3 的作品,据我所知,默认为'utf-8'
我找了两天或更多天的解决方案,我越来越困惑。
非常感谢您提出任何建议。
最佳答案
您应该使用 codecs
以正确的编码打开文件。
import codecs
with codecs.open(os.getcwd () + "/ files /" + "actions.txt", "r", encoding="utf8") as temp:
action = list(temp)
参见 codecs docs
关于python - 读取带有重音元音的文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19485956/