【发布时间】:2015-03-05 11:09:08
【问题描述】:
我试图在 python2.7 中读取一个文件,它被完美地读取了。我遇到的问题是当我在Python3.4中执行相同的程序然后出现错误:
'utf-8' codec can't decode byte 0xf2 in position 424: invalid continuation byte'
另外,当我在 Windows(使用 python3.4)中运行程序时,不会出现错误。文件的第一行是:
Codi;Codi_lloc_anonim;Nom
我的程序代码是:
def lectdict(filename,colkey,colvalue):
f = open(filename,'r')
D = dict()
for line in f:
if line == '\n': continue
D[line.split(';')[colkey]] = D.get(line.split(';')[colkey],[]) + [line.split(';')[colvalue]]
f.close
return D
Traduccio = lectdict('Noms_departaments_centres.txt',1,2)
【问题讨论】:
-
您的文本文件有哪些非 ASCII 内容和编码?
-
似乎 python 假定文件是 utf-8 但实际上并非如此,你可以试试 open(filename, 'r', encoding='latin-1') 吗?
标签: python python-3.x utf-8