Python pickle.load() файл pkl выдает EOFError

Друг генерирует для меня файл рассола. Как он работает на 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.

1 ответ

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

Другие вопросы по тегам