我已经为此工作了几个星期,并且已经阅读了许多有关 python 内存泄漏的问题,但我就是想不通。
我有一个包含大约 700 万行的文件。对于每一行,我需要创建一个字典。所以这是一个字典列表,如下所示:
[{'a': 2, 'b':1}{'a':1, 'b':2, 'c':1}]
我正在做的是...
list = []
for line in file.readlines():
terms = line.split(" ")
dict = {}
for term in terms:
if term in dict:
dict[term] = dict[term] + 1
else:
dict[term] = 1
list.append(dict.copy())
dict.clear()
file.close()
问题是,当我运行它时,它总是在第 6000000 行附近被杀死。最初我只是在做dict = {}
但改变了它,所以我在阅读了类似的帖子后做了 dict.clear() ,但它并没有改善任何东西。我知道一些关于循环引用的帖子,我查看了我的代码,但我认为我没有这个问题。
我怀疑在一个列表中存储 700 万个字典不能用 Python 处理?我将不胜感激有关如何在不被杀死的情况下运行整个事情的任何建议。
(版本为2.7.4)