朋友为我生成一个泡菜文件。当我在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。
答案 0 :(得分:0)
我相信我尝试了一些非常相似的东西并获得了与你相同的结果;我也跑2.7.5。当我更新到3.4时,我没有收到错误并且我的功能正常运行,所以我很可能会说问题是你的python已经过时了。