如何在python中显示文件中的西里尔文本?

时间:2017-10-26 17:48:14

标签: python

我想从Python 3中的txt文件中读取一些cyrilic文本。 这是文本文件包含的内容。

абцдефгчийклмнопярстувшхыз 

我用过:

with open('text.txt', 'r') as myfile:
text=myfile.read()
print (text)

但这是python shell中的输出:

ÿþ01F45D3G89:;<=>?O@ABC2HEK7

有人能解释为什么这是输出吗?

2 个答案:

答案 0 :(得分:2)

Python支持utf-8用于此类事情。

你应该可以这样做:

with open('text.txt', encoding = 'utf-8', mode = 'r') as my_file: 
...

另外,请确保使用utf-8编码保存文本文件。我在我的shell中测试了这个,没有正确的编码,我的输出是:

?????????????????????

使用正确的编码:

file = open('text.txt', encoding='utf-8', mode='r')
text = file.read()
print(text)
абцдефгчийклмнопярстувшхы

答案 1 :(得分:1)

尝试使用编解码器处理文件,您需要

导入编解码器

然后再做

text = codecs.open('text.txt','r','utf-8')

基本上你需要utf8