我正在使用 Python 3.5.3 在 Windows 上实现此 笔记本,并在 load_vectors() 调用中出现以下错误。我尝试了不同的解决方案,但都没有奏效。
<ipython-input-86-dd4c123b0494> in load_vectors(loc)
1 def load_vectors(loc):
2 return (load_array(loc+'.dat'),
----> 3 pickle.load(open(loc+'_words.pkl','rb')),
4 pickle.load(open(loc+'_idx.pkl','rb')))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128)
原文由 user1569341 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可能应该为
pickle.load(f, encoding='latin1')
提供编码,但请确保文件中的所有字符都遵循编码。默认情况下,您的 pickle 代码尝试使用失败的“ASCII”解码文件。相反,您可以明确地告诉使用哪一个。从 Documentation 中查看。
如果 latin1 没有解决,请尝试使用
encoding='bytes'
然后稍后解码所有键和值。