2016-04-04 1 views
2

друг создает файл соленья для меня. Как он работает на Python 3, когда я работаю на Python 2, поэтому он сгенерировал файл сpython pickle.load() pkl file throws EOFError

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.

+2

Переход на Python 2.7.10? Похоже, что ошибка была зафиксирована между 2.7.5 и 2.7.10. –

ответ

0

Я считаю, что я попробовал нечто очень похожее и получил тот же результат, который у вас есть; Я также работал 2.7.5. Когда я обновился до 3.4, я больше не получал ошибку, и моя функция работала правильно, поэтому, скорее всего, я бы сказал, что проблема в том, что ваш python устарел.

 Смежные вопросы

  • Нет связанных вопросов^_^