python - 读取带有重音元音的文件时出错

标签 python utf-8

下面的语句从一个文件中填充一个列表:

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/

相关文章:

python - 如何从 for 循环返回多个具有唯一名称的 pandas 数据帧?

python - 在 python 中类型转换

python - 如何使用 scikit-learn silhouette score 计算 scipy 的 fcluster 的 Silhouette Score?

string - 为什么 utf8 与 ascii 兼容

java - 使用 Java 将 Utf-16 转换为 UTF-8 字符串并丢失数据

Python 3 : Optimizing summation over scipy arrays

python - 如何将组装字段添加到 Pydantic 模型

c++ - 在linux/mac中获取一个多字节字符的 "char"

php - obj c 和 php 错误的字符串编码

python - 如何将编码值存储到数据库中