我当时在用Python进行编码,我想使用pickle保存一些数据,但我不断收到EOF错误, 而且我找不到问题。这是代码:
# Imports
import cPickle as pickle
我在这里跳过了一些东西
with open("SAVE_FILE.pickle") as file:
if file == None:
pickle.dump(0, file)
random_variable = pickle.load(file)
这是我的错误信息:
Traceback (most recent call last):
File "blablabla this is not important", line 172, in <module>
random_variable = pickle.load(file)
EOFError
为什么会这样?我该如何解决?
(random_variable不是变量的实际名称)
答案 0 :(得分:1)
由于打开了文件句柄,因此pickle将尝试从文件句柄的最新位置加载。您需要调用file.seek(0)
来重置文件句柄的位置,因此pickle.load
将从文件句柄的开头读取。