拆分时,特殊字符无法正确显示

时间:2017-02-08 09:30:25

标签: python text encoding text-files special-characters

当我在文本文件中读取一行时,如下所示:

présenté alloué ééé ààà tué

尝试在终端中打印它,它显示正确。但是当我使用空格作为分隔符应用拆分时,它会显示:

['pr\xc3\xa9sent\xc3\xa9', 'allou\xc3\xa9', '\xc3\xa9\xc3\xa9\xc3\xa9', '\xc3\xa0\xc3\xa0\xc3\xa0', 'tu\xc3\xa9\n']

我只是用它来阅读文本文件:

f = open("test.txt")
l = f.readline()
f.close()
print l.split(" ")

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

Python 3. *解决方案: 您所要做的就是指定您想要使用的编码

f = open("test.txt", encoding='utf-8')
l = f.readline()
f.close()
print(l.split(" "))

你会得到

['présenté', 'alloué', 'ééé', 'ààà', 'tué']

Python 2. *解决方案:

import codecs

f = codecs.open("""D:\Source Code\\voc-git\\test.txt""", mode='r', encoding='utf-8')
l = f.read()
f.close()
for word in l.split(" "):
    print(word)

答案 1 :(得分:0)

打印列表与打印其元素不同

s = "présenté alloué ééé ààà tué"
print s.split(" ")
for x in s.split(" "):
    print x

输出:

['pr\xc3\xa9sent\xc3\xa9', 'allou\xc3\xa9', '\xc3\xa9\xc3\xa9\xc3\xa9', '\xc3\xa0\xc3\xa0\xc3\xa0', 'tu\xc3\xa9']
présenté
alloué
ééé
ààà
tué