python pickle.load()pkl文件抛出EOFError

时间:2016-04-04 12:09:52

标签: python python-2.7 python-3.x pickle eoferror

朋友为我生成一个泡菜文件。当我在python 2上工作时,他在python 3上工作,所以他用

生成了文件
pickle.dump(some_file_to_be_pickled,open("path_to_that_file","wb+"),protocol=2)

我试图用

加载它
the_file = pickle.load(open("path_to_that_file","rb"))

但是,我遇到了EOFError,它看起来像是:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/pickle.py", line 1378, in load
   return Unpickler(file).load()
File "/usr/lib64/python2.7/pickle.py", line 858, in load
   dispatch[key](self)
File "/usr/lib64/python2.7/pickle.py", line 880, in load_eof
   raise EOFError
EOFError

我的朋友也尝试用python 2在他的计算机上加载这个文件,他没有遇到任何问题......

有什么想法解决这个问题吗? 顺便说一句,我使用的是python 2.7.5,而他正在使用python 2.7.10和python 3.5。

1 个答案:

答案 0 :(得分:0)

我相信我尝试了一些非常相似的东西并获得了与你相同的结果;我也跑2.7.5。当我更新到3.4时,我没有收到错误并且我的功能正常运行,所以我很可能会说问题是你的python已经过时了。