Python 为什么我会有奇怪的角色?

Python 为什么我会有奇怪的角色?,python,encoding,Python,Encoding,很抱歉,如果这不是一个重复的例子,但我猜当我描述问题时,有人会知道该怎么做。我遇到的问题是,我从一个txt文件中获取类似“\xe2”\x80”的字符,我正在以以下方式读取该文件: words = open("directory/file.txt","r") liness = [] for x in words.readlines(): liness.append(lines.rstrip('\n')) max(liness, key = len) 当我打印行时,我会得到我想要的列表,

很抱歉,如果这不是一个重复的例子,但我猜当我描述问题时,有人会知道该怎么做。我遇到的问题是,我从一个txt文件中获取类似“\xe2”\x80”的字符,我正在以以下方式读取该文件:

words = open("directory/file.txt","r")
liness = []
for x in words.readlines():
    liness.append(lines.rstrip('\n'))
max(liness, key = len)
当我打印行时,我会得到我想要的列表,但当我以以下方式使用max()时:

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

返回
“file.txt中包含\xe2和\x80的一行”
我知道这可能与编码有关,但我还没有幸运地解决它。有人吗?

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

words = open("directory/file.txt", 'r', 0)
line = words.readline()
wordlist = string.split(line)
不幸的是,我无法重现您的错误,正如您所猜测的那样。我的文件是txt文件,里面有一个英文单词列表

我假设您正在读取一个包含非标准美式英语字符的.txt文件,对吗?。如果您没有使用美式英语字符,您可能希望查看以下帖子:

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