我想从Python 3中的txt文件中读取一些cyrilic文本。 这是文本文件包含的内容。
абцдефгчийклмнопярстувшхыз
我用过:
with open('text.txt', 'r') as myfile:
text=myfile.read()
print (text)
但这是python shell中的输出:
ÿþ01F45D3G89:;<=>?O@ABC2HEK7
有人能解释为什么这是输出吗?
答案 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