我试图打开带有以下命令的一些配置文件:的UnicodeDecodeError在Python 3.5试图打开文本文件时
f=open(os.path.join(root, name),mode='rt',errors='ignore')
不过,我升级到Python 3.5后收到以下错误。
for line in f:
File "C:\python35-32\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 57: chara
cter maps to <undefined>
此代码工作得很好时,我跑了使用Python 2.7。我试图将编码指定为utf8或latin1,但现在都没有工作。如果任何人都能向我推荐一条前进的道路,这将会非常有帮助。
如果我可以忽略该错误并转到下一行,那就没问题了。我怎样才能跳过错误的部分?
我对python 3不是很熟悉。我认为你打开一个8位编码的文件(例如latin1),而解释器尝试utf-8。你应该检查位置57的字节。你可以追加周围块的十六进制转储(只有几个字节)吗? – clemens