无法加载 pickle 文件
Unable to load pickle file
我以前能够加载 pickle 文件。我以不同的名称保存了一个新文件。我无法加载旧文件或新文件。这是一个无赖,因为它包含我努力擦除的数据。
这是我用来保存的代码:
def pickleStore():
pickle.dump(store, open("...shelf3.p", "wb"))
这是我用来重新加载的代码:
def pickleLoad():
store = pickle.load(open(".../shelf3.p","rb" ) )
创建的文件存在,我运行 pickleLoad() 没有出现错误,面板变量资源管理器中也没有显示任何变量。如果我尝试加载一个不存在的文件,我会收到一条错误消息。
我是运行ning spyder,python3.5.
有什么建议吗?
作为一种通用且更通用的方法,我建议如下:
def load(file_name):
with open(simulation, 'rb') as pickle_file:
return pickle.load(pickle_file)
def save(file_name, data):
with open(file_name, 'wb') as f:
pickle.dump(data, f)
我已将此代码段添加到多个项目中,以减少多次重写相同的代码。
如果要从函数写入模块级变量,需要使用global
关键字:
store = None
def pickleLoad():
global store
store = pickle.load(open(".../shelf3.p","rb" ) )
...或 return 值并从模块级代码执行赋值:
store = None
def pickleLoad():
return pickle.load(open(".../shelf3.p","rb" ) )
store = pickleLoad()
我以前能够加载 pickle 文件。我以不同的名称保存了一个新文件。我无法加载旧文件或新文件。这是一个无赖,因为它包含我努力擦除的数据。
这是我用来保存的代码:
def pickleStore():
pickle.dump(store, open("...shelf3.p", "wb"))
这是我用来重新加载的代码:
def pickleLoad():
store = pickle.load(open(".../shelf3.p","rb" ) )
创建的文件存在,我运行 pickleLoad() 没有出现错误,面板变量资源管理器中也没有显示任何变量。如果我尝试加载一个不存在的文件,我会收到一条错误消息。
我是运行ning spyder,python3.5.
有什么建议吗?
作为一种通用且更通用的方法,我建议如下:
def load(file_name):
with open(simulation, 'rb') as pickle_file:
return pickle.load(pickle_file)
def save(file_name, data):
with open(file_name, 'wb') as f:
pickle.dump(data, f)
我已将此代码段添加到多个项目中,以减少多次重写相同的代码。
如果要从函数写入模块级变量,需要使用global
关键字:
store = None
def pickleLoad():
global store
store = pickle.load(open(".../shelf3.p","rb" ) )
...或 return 值并从模块级代码执行赋值:
store = None
def pickleLoad():
return pickle.load(open(".../shelf3.p","rb" ) )
store = pickleLoad()