我不知道为什么这个Pickle示例没有显示两个字典定义。据我了解,“ab +”应该表示pickle.dat文件被附加到并可以从中读取。我对整个泡菜概念并不熟悉,但网络上的教程似乎并不仅限于初始存储。Python Pickle帮助
import cPickle as pickle
def append_object(d, fname):
"""appends a pickle dump of d to fname"""
print "append_hash", d, fname
with open(fname, 'ab') as pickler:
pickle.dump(d, pickler)
db_file = 'pickle.dat'
cartoon = {}
cartoon['Mouse'] = 'Mickey'
append_object(cartoon, db_file)
cartoon = {}
cartoon['Bird'] = 'Tweety'
append_object(cartoon, db_file)
print 'loading from pickler'
with open(db_file, 'rb') as pickler:
cartoon = pickle.load(pickler)
print 'loaded', cartoon
理想情况下,我希望建立使用for循环的字典,然后键添加:值对的pickle.dat文件,然后清除字典节省一些RAM。
这是怎么回事?
不要双击空格你的代码。而是用四个空格缩进。 – 2010-08-04 16:32:43