在python中读取unicode文件

时间:2017-10-13 13:48:24

标签: python file unicode

我有一个包含unicode“û”的文件。但是,无法正确读取,如以下测试用例所示:

print("û")
with open(r"testfile.txt") as f:
    for line in f:
        print(line)

哪个输出:

û
û

IDE可以正确显示字符 - 但是从读取文件开始会显示另一个字符。 如果我在调试器中执行它,我会看到f具有“编码”cp1252。不是unicode。

那我怎么“修理”这个?

在notepad ++中打开文件告诉我该文件确实是UTF-8。如果我手动将文件更改为windows-codepage 1252,它似乎有效。但那不是我想要的。

2 个答案:

答案 0 :(得分:2)

您可以在打开文件时指定编码:

with open(r"testfile.txt", encoding='utf-8') as f:

答案 1 :(得分:1)

打开文件时,您需要将encoding参数用作“utf-8”。 看起来像下面的with with open()。 您可能想要阅读更多here

  encoding='utf-8'