【问题标题】:Why am I getting odd characters?为什么我得到奇怪的字符?
【发布时间】:2014-08-12 10:38:11
【问题描述】:

对不起,如果这不是一个可重现的例子,但我猜当我描述问题时有人会知道该怎么做。我遇到的问题是,我正在通过以下方式从一个 txt 文件中获取像 "\xe2" "\x80" 这样的字符:

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" 我知道这可能与编码有关,但我没有运气解决它。有人吗?

【问题讨论】:

    标签: python encoding


    【解决方案1】:

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

    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

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

    【讨论】:

      猜你喜欢
      • 2015-04-28
      • 2015-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      • 2015-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多