2017-07-03 47 views
1

有一个循环长时间运行,每次迭代都会创建数据。由于数据往往会在一段时间后填满内存,我认为将它存储在磁盘上是个好主意。我想到的第一件事就是使用cPickle来将这些数据保存为二进制文件。更新存储在cPickle中的字典而不将其加载到RAM中

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

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

回答

相关问题