gpt4 book ai didi

Python Pickle 帮助

转载 作者:太空宇宙 更新时间:2023-11-04 07:25:34 25 4
gpt4 key购买 nike

我不确定为什么这个 Pickle 示例没有显示两个字典定义。据我了解,“ab+”应该意味着 pickle.dat 文件被附加到并且可以从中读取。我对整个 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。

这是怎么回事?

最佳答案

不要为此使用 pickle 。使用数据库。

python dbm module似乎完全符合你想要的。它为您呈现类似字典的界面,但数据保存到磁盘。

示例用法:

>>> import dbm
>>> x = dbm.open('/tmp/foo.dat', 'c')
>>> x['Mouse'] = 'Mickey'
>>> x['Bird'] = 'Tweety'

明天你可以加载数据:

>>> import dbm
>>> x = dbm.open('/tmp/foo.dat', 'c')
>>> print x['Mouse']
Mickey
>>> print x['Bird']
Tweety

关于Python Pickle 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3407646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com