当我尝试打开文件时,我在Python 2.7.9中不断收到EOF错误

时间:2020-03-30 18:27:47

标签: python

我当时在用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不是变量的实际名称)

1 个答案:

答案 0 :(得分:1)

由于打开了文件句柄,因此pickle将尝试从文件句柄的最新位置加载。您需要调用file.seek(0)来重置文件句柄的位置,因此pickle.load将从文件句柄的开头读取。