循环运行很长时间,每次迭代都会创建数据。由于数据往往会在一段时间后填满RAM,我认为将它存储在磁盘上是个好主意。我想到的第一件事就是使用cPickle将数据保存为二进制文件。
这是详细的计划。在每次迭代之后,新数据被附加到以迭代计数为其键的字典中。然后将该字典写入磁盘。每次迭代都重复该过程 问题是我不知道如何更新磁盘上的文件。我知道的唯一解决方案是再次加载字典,附加新数据并将其写回。但最后,这种方法毫无意义,因为字典每次都必须加载到内存中。
那么有没有办法更新使用cPickle存储的字典而不将其内容再次加载到RAM中?或者可能存在另一种方法来完成这项任务?