更新使用cPickle存储的字典,而不将其加载到RAM中

时间:2017-07-03 17:22:16

标签: python dictionary pickle

循环运行很长时间,每次迭代都会创建数据。由于数据往往会在一段时间后填满RAM,我认为将它存储在磁盘上是个好主意。我想到的第一件事就是使用cPickle将数据保存为二进制文件。

这是详细的计划。在每次迭代之后,新数据被附加到以迭代计数为其键的字典中。然后将该字典写入磁盘。每次迭代都重复该过程 问题是我不知道如何更新磁盘上的文件。我知道的唯一解决方案是再次加载字典,附加新数据并将其写回。但最后,这种方法毫无意义,因为字典每次都必须加载到内存中。

那么有没有办法更新使用cPickle存储的字典而不将其内容再次加载到RAM中?或者可能存在另一种方法来完成这项任务?

1 个答案:

答案 0 :(得分:1)

这就是创建https://docs.python.org/2/library/shelve.html的原因。它是一个按键盘上泡菜。