一个朋友为我生成了一个泡菜文件。因为他在 python 3 上工作,而我在 python 2 上工作,所以他生成了文件
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。