2016-04-04 17 views
2

友達が私のためにピクルスファイルを生成します。私のpython 2上で動作している間、彼は、Python 3で動作しますので、私はしかしpython pickle.load()pklファイルがEOFErrorをスローする

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

でそれをロードしようとしたものの、彼は

pickle.dump(some_file_to_be_pickled,open("path_to_that_file","wb+"),protocol=2) 

でファイルを生成したとして、私は次のようになります例外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.10とpython 3.5を使用している間、私はpython 2.7.5を使用しています。

+2

Python 2.7.10にアップグレードしますか?バグのような音は2.7.5と2.7.10の間で修正されました。 –

答えて

0

私は非常に似たものを試して、あなたが持っているのと同じ結果を受けたと信じています。私は2.7.5も走っていた。私が3.4に更新したとき、私はもうエラーを受け取らなかったし、私の関数が正常に実行されたので、あなたのpythonが古くなっていると言えるでしょう。

関連する問題