我有一个文件,其中包含 float 列表的 pickle 列表。我可以在 pickle 它的同一台机器上毫无问题地加载列表,但是当我在另一台机器上尝试它时,出现以下错误:
Traceback (most recent call last):
File "<console>", line 2, in <module>
File "/usr/lib/python2.7/pickle.py", line 1378, in load
return Unpickler(file).load()
File "/usr/lib/python2.7/pickle.py", line 858, in load
dispatch[key](self)
KeyError: '\x00'
这两个 python 版本是 2.7.0(在原始机器上)和 2.7.2(在尝试解封文件的机器上)。我认为不应该因此而出现任何不兼容。
最佳答案
我遇到了同样的问题,并尝试了很多方法,但都是徒劳。最后我使用了cPickle,问题解决了。只需将“pickle”替换为“cPickle”即可,一切正常。它具有完全相同的方法和参数。
import cPickle
cPickle.dump()
cPickle.load()
关于python - 尝试 unpickle 列表时出现 KeyError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10762999/