0

我有一本字典,可以说:

d = {"a": 1, "b": 2, "c": 3 }

我想做的就是把这个字典转储到一个文件中,然后一点一点地附加我的程序生成的数据。我不想在程序运行期间将字典数据放在内存中。最后,我希望能够将此文件从另一个程序加载到 python 结构中。

有没有使用或其他 python 模块的解决pickle方案json?我知道您不能附加到泡菜文件中的转储对象。

我知道我可以做这样的事情:

d = pickle.load(open(fileName, 'rb'))
d.update(dictWithNewValues)
pickle.dump(d, open(fileName, 'wb'))

如此处所述。但我想逐步做到这一点。我知道这样做可能很困难,因为字典有唯一的键,所以要附加它,应该知道当前键以避免冲突(具有相同键的条目..)。

那么,有没有办法在一个list或另一个 python 对象中做到这一点?

4

1 回答 1

2

假设您的字典的键都是字符串,我看到的最简单的选项是 Python 的shelve模块。搁置的行为类似于持久字典,并且可以更新任何键。

另一个选项是anydbm模块,它还要求所有都是字符串。

于 2012-07-25T14:44:16.430 回答