Python中的缓冲/批序列化?

Python中的缓冲/批序列化?,python,python-2.7,serialization,pickle,Python,Python 2.7,Serialization,Pickle,我有一个算法,可以迭代创建一个非常大的高度嵌套的字典。我想缓冲这个字典的一部分,然后定期将缓冲流传输到磁盘,这样我可以在另一个时间重新创建整个字典 看来pickle是用于一次性序列化的。有没有一种方法可以将字典批量序列化为单个输出流?好的,下面的方法似乎可以部分解决此问题: with open('file','ab') as f: while <stopping condition>: <generate (key,value) pair 'k'> p

我有一个算法,可以迭代创建一个非常大的高度嵌套的字典。我想缓冲这个字典的一部分,然后定期将缓冲流传输到磁盘,这样我可以在另一个时间重新创建整个字典


看来pickle是用于一次性序列化的。有没有一种方法可以将字典批量序列化为单个输出流?

好的,下面的方法似乎可以部分解决此问题:

with open('file','ab') as f:
  while <stopping condition>:
    <generate (key,value) pair 'k'>
    pickle.dump(k,f)

这将在运行时重建完整的字典。

klepot
能够一次序列化一个字典条目,以便在类似数据库的对象(如SQL db、一堆文件等)之间传递条目
klepot
提供了一种在分布式/并行资源之间传递字典条目的简单方法。这就是你的意思吗?@MikeMcKerns谢谢。我的目标比较简单。我只是不想在算法运行时浪费时间进行RAM管理。但是,我希望以后在RAM中重建整个字典。这真的只是为了提高速度。
with open('file','rb') as f:
    fullMapping = {}
        hasNext = True
        while hasNext:
            try:
                fullMapping.update(pickle.load(f))
            except:
                f.close()
                hasNext = False