繁体   English   中英

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

[英]Update a dictionary stored with cPickle without loading it into RAM

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM