倾倒泡菜不适用于 rb+
Dumping pickle is not working with rb+
为什么pickle文件没有修改?但是在我取消注释行之后它起作用了吗?
with open(PATH, "rb+") as fp:
mocks_pickle = pickle.load(fp)
mocks_pickle['aa'] = '123'
# pickle.dump(mocks_pickle, open(PATH, 'wb'))
pickle.dump(mocks_pickle, fp)
在转储对象之前,您需要使用 fp.seek(0)
查找文件的开头。
如果您不寻求,请将新的 pickle 附加到文件末尾。
当你从文件中 pickle.load
时,你只会得到文件中的第一个。
with open(PATH, "rb+") as fp:
mocks_pickle = pickle.load(fp)
mocks_pickle['aa'] = '123'
fp.seek(0)
pickle.dump(mocks_pickle, fp)
为什么pickle文件没有修改?但是在我取消注释行之后它起作用了吗?
with open(PATH, "rb+") as fp:
mocks_pickle = pickle.load(fp)
mocks_pickle['aa'] = '123'
# pickle.dump(mocks_pickle, open(PATH, 'wb'))
pickle.dump(mocks_pickle, fp)
在转储对象之前,您需要使用 fp.seek(0)
查找文件的开头。
如果您不寻求,请将新的 pickle 附加到文件末尾。
当你从文件中 pickle.load
时,你只会得到文件中的第一个。
with open(PATH, "rb+") as fp:
mocks_pickle = pickle.load(fp)
mocks_pickle['aa'] = '123'
fp.seek(0)
pickle.dump(mocks_pickle, fp)