很抱歉,如果这不是一个可重现的例子,但我猜测有人会在我描述问题时知道该怎么做。我遇到的问题是我得到像" \ 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"
我知道这可能与编码有关,但我没有运气解决它。任何人吗?
答案 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
您需要根据文件确定要使用的编码/解码类型。