保存大量词典并在python中连续添加新元素的最佳方法

时间:2018-09-03 08:44:48

标签: python list dictionary save pickle

我正在创建一个大列表,每个列表约有50000个元素,都是一个大字典。自从开始以来,我遇到了几个问题。

  1. 首先,我只是尝试运行所有50'000次迭代(一次迭代=计算出的列表的一个新元素),最后保存大小为500000的列表。但是我没有达到目的,我的内核通常总是在此之前就死掉了。

  2. 因此,我决定每进行500次迭代以加载现有列表,然后添加500个新元素并使用pickle保存更新后的列表。但是,我的内核曾经在加载或保存保存的列表时死掉,这使我的保存列表无用,因为当尝试打开它时,我遇到了一个错误,例如:“输入不足”。

  3. 为解决此问题,我像#2中一样保存了500次迭代,但是这次我也保留了最后保存的两个列表,以防内核死机并破坏了我最后保存的列表。

    < / li>

我现在正在寻找第四个解决方案,这将是一种更加灵活有效的解决方案。现在,它可以正常工作,但是每加载500次迭代就需要花费一定的时间,它会加载并保存大约1500万个列表!我看到带有特殊协议值的cPickle应该更快,但是由于某种原因我无法下载它。我当时想也许使用文本文件或其他文件会更好?我可以打开它,并在每次迭代时添加新的list元素。但是我在内存方面不确定这是否是最好的方法,因为我会始终打开此漏洞列表。

请,任何见解都会有很大帮助。

0 个答案:

没有答案
相关问题