Python Pickle抛出EOFError

时间:2014-06-27 20:16:12

标签: python pickle

already_done = ['lol', 'lol2']
already_done = pickle.load( open( "save.p", "rb" ) )

无论save.p是否存在,这一小段代码都会抛出来自pickle的EOFError。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

我不确定您为什么希望您的代码段能够正常工作,但它失败了,因为您不了解pickle的工作原理。举例来说:

>>> s = (1,2,3)
>>> pickle.dump(s, open('save.p', 'wb'))
>>> s2 = pickle.load(open('save.p', 'b'))
>>> s2
(1, 2, 3)

在重新加载之前,你必须使用pickle模块写出来。