Python上的内存耗尽

时间:2014-08-01 18:38:40

标签: python object for-loop

我目前在Mac上使用python。 任务是从Web中抓取一些东西并将其存储在csv文件中。 我现在的问题是什么 如果我在for循环中创建一个新对象,请说

for x in list:
   y = classvar()
   with open("test.csv") as f:
       f.write(y)

其中classvar()包含多个词典。

经过大约1000次迭代后,我的mac崩溃说我没有足够的内存! 我只是想知道什么是最好的解决方案? 我应该在每个for循环结束时使用del y吗?

1 个答案:

答案 0 :(得分:1)

如果y是一个很大的东西,除了循环的一次迭代之外不需要with,你也应该使用for x in list: with classvar() as y: with open("test.csv", "w") as f: f.write(y)

classvar()

__enter__需要__exit____exit__方法,而{{1}}方法应该清理对象。