readlines()函数和unicodes

时间:2016-05-11 07:44:09

标签: python-2.7 unicode

我有这个文件,testpi.txt,我想把它转换成一个句子列表。

 >>>cat testpi.txt  
    This is math π.  
    That is moth pie.

这就是我所做的:

    r = open('testpi.txt', 'r')
    sentence_List = r.readlines()
    print sentence_List  

并且,当输出发送到另一个文本文件 - output.txt时,这就是它在output.txt中的样子:
['This is math \xcf\x80. That is moth pie.\n']

我也尝试过编解码器,r = codecs.open('testpi.txt', 'r',encoding='utf-8')
但输出则包含所有条目中的前导'u'。

如何在\xcf\x80

中将此字节字符串π显示为output.txt

请指导我,谢谢。

1 个答案:

答案 0 :(得分:1)

问题是您正在打印整个list,它会为您提供您不想要的输出格式。相反,单独打印每个字符串,它将起作用:

r = open('t.txt', 'r')
sentence_List = r.readlines()
for line in sentence_List:
    print line,

或者:

print "['{}']".format("', '".join(map(str.rstrip, sentence_List)))