题 python 2.6 cPickle.load导致EOFError


我使用cPickle来使用HIGHEST_PROTOCOL来挑选整数列表,

cPickle.dump(l, f, HIGHEST_PROTOCOL)

当我尝试使用以下代码解开这个时,我得到一个EOFError。在解开前我试图'寻找'偏移0,但错误仍然存​​在。

l = cPickle.load(f)

有任何想法吗?


11
2018-02-02 20:46


起源


我只是注意到我没有以二进制模式写入/读取文件。希望这将解决这个问题。 - fsm
显然,当我输入我的答案时,我将这个想法投射到你身上:p - John La Rooy
是的,这完全有可能:-) - fsm


答案:


如果你在Windows上,请确保你

open(filename, 'wb') # for writing
open(filename, 'rb') # for reading

19
2018-02-02 20:49



谢谢!刚刚发生在我身上:-) - fsm
谢谢,7年后,这仍然有用!帮了我很多;) - Breeze
同意。刚刚救了我 - jbee