为什么我会变成奇怪的角色?

时间:2014-06-22 04:28:54

标签: python encoding

很抱歉,如果这不是一个可重现的例子,但我猜测有人会在我描述问题时知道该怎么做。我遇到的问题是我得到像" \ xe2" " \ X80"从我正在阅读的txt文件中获取以下方式:

words = open("directory/file.txt","r")
liness = []
for x in words.readlines():
    liness.append(lines.rstrip('\n'))

当我打印行时,我得到了我想要的列表,但是当我按照以下方式使用max()时:

max(liness, key = len)

返回"a line from file.txt that containts \xe2 and \x80"我知道这可能与编码有关,但我没有运气解决它。任何人吗?

1 个答案:

答案 0 :(得分:0)

我尝试重现您的错误,但使用了以下代码:

words = open("directory/file.txt", 'r', 0)
line = words.readline()
wordlist = string.split(line)

不幸的是,我无法像您猜到的那样重现您的错误。我的文件是带有英文单词列表的txt文件。

我假设您正在阅读带有非标准美国英语字符的.txt文件,对吗?如果您不使用美国英语字符,可能需要查看此帖子:

Handling non-standard American English Characters and Symbols in a CSV, using Python

您需要根据文件确定要使用的编码/解码类型。