Python 2.7 如何在python 2.7中读取非ascii字符

Python 2.7 如何在python 2.7中读取非ascii字符,python-2.7,Python 2.7,我知道这可能是一个非常常见的问题,并且已经给出了很多解决方案。 我无法找到我的问题的解决方案,请有人告诉我,如果有任何重复的职位,或如何解决它 我需要读取包含ascii和非ascii字符的源数据(需要python2.7中的帮助)。读取后,我需要对源数据进行一些比较,然后将其写入目标文件 with open('read.txt', "r") as file: reader = csv.reader(file, delimiter='\t') for lines in reader

我知道这可能是一个非常常见的问题,并且已经给出了很多解决方案。 我无法找到我的问题的解决方案,请有人告诉我,如果有任何重复的职位,或如何解决它

我需要读取包含ascii和非ascii字符的源数据(需要python2.7中的帮助)。读取后,我需要对源数据进行一些比较,然后将其写入目标文件

with open('read.txt', "r") as file:

    reader = csv.reader(file, delimiter='\t')
    for lines in reader:
        LST_NM = (lines[0])
    print(LST_NM)
我的源文件是: read.txt

“Abrámoff”

对于这个非ascii字符,我的代码给出了以下错误 UnicodeDecodeError:“ascii”编解码器无法解码第266位的字节0xc3:序号不在范围内(128)


谢谢

您需要确定创建文件时使用了什么编码。 例如,如果您的文件是使用utf-8编写的,那么您可以使用如下内容:

your_encoding = 'utf-8'
import codecs
f = codecs.open('read.txt', encoding=your_encoding)
for line in f:
    print repr(line)
您可以尝试的其他编码包括Windows上常见的“cp1252”和“latin_1”