我需要将大约十二个对象保存到文件中,然后稍后将其还原。我尝试过使用带咸菜和搁置的for循环,但效果不佳。
编辑。
我试图保存的所有对象都在同一个类中(我之前应该提到过),但我没有意识到我可以像这样保存整个类:
import pickle
def saveLoad(opt):
global calc
if opt == "save":
f = file(filename, 'wb')
pickle.dump(calc, f, 2)
f.close
print 'data saved'
elif opt == "load":
f = file(filename, 'rb')
calc = pickle.load(f)
else:
print 'Invalid saveLoad option'
1
您说您已经尝试过for循环。请发布该代码,以及为什么“它无法正常工作”(即发生了什么以及您想发生什么)。
—
布莱尔
如果您使用的是Windows,请确保以二进制方式打开文件
—
约翰·拉ROOY
@gnibbler:只有非默认协议(docs.python.org/library/pickle.html#usage)才需要二进制模式。
—
Eric O Lebigot