Unicode 错误读取来自文件的 accentuation 葡萄牙字符.

2024-07-03 04:27:26 发布

您现在位置:Python中文网/ 问答频道 /正文

前言:

这是一个寒冷的雨天,在2016年年中,一个开发人员仍然因为没有使用python3.0而对python进行编码。伟大的S.O社区会帮助他吗?我不知道,我们得等等看

范围:

我有一个UTF-8encoded file,它包含带有重音符号的单词,例如CURRÍCULO和{}。由于某些原因我无法理解,我无法使用Python2.7正确地读取它们。在

代码片段:

import codecs

f_reader = codecs.open('PATH_TO_FILE/Data/Input/kw.txt', 'r', encoding='utf-8')

for line in f_reader:
    keywords.append(line.strip().upper())
    print line

我得到的输出是:

^{pr2}$

编码,编码,编码:

我用notepad++将文件转换为普通utf-8和不带字节顺序标记的文件,它显示的字符很好,没有任何问题。顺便说一句,我使用的是Windows,默认情况下它会创建ANSI格式的文件。在

问题:

我应该怎么做才能正确地读取这个文件,包括í和{}以及其他强调字符?在

为了更清楚,我想keep the accentuation我在内存中使用的字符串。在

更新:

下面是关键字列表,在内存中,使用您可以看到的代码从文件中读取。在

List of Keywords as read in memory


Tags: 文件内存代码编码开发人员line字符社区
1条回答
网友
1楼 · 发布于 2024-07-03 04:27:26

问题似乎不在于阅读,而在于印刷。你伤心吗

I'm using Windows, by the way, which will create files as ANSI by default.

我认为这包括打印到stdout。尝试更改sys.output编解码器:

sys.stdout = codecs.getwriter("utf-8")(sys.stdout)

相关问题 更多 >