我创建了许多对象,然后存储在一个列表中。但是我想在一段时间后删除它们,因为我创建了一个新闻并且不希望我的内存变高(在我的情况下,如果我不删除它,它会跳到 20 gigs 的内存)。
这是一个小代码来说明我想要做什么:
class test:
def __init__(self):
self.a = "Hello World"
def kill(self):
del self
a = test()
b = test()
c = [a,b]
print("1)Before:",a,b)
for i in c:
del i
for i in c:
i.kill()
print("2)After:",a,b)
A 和 B 是我的对象。C 是这两个对象的列表。我正在尝试使用 C 中的 for 循环明确删除它:一次使用 DEL,另一次使用函数。这似乎不起作用,因为打印继续显示对象。
我需要这个,因为我多次创建 100 000 个对象。我第一次创建 100k 对象,第二次创建另一个 100k 但我不需要保留之前的 100k。如果我不删除它们,内存使用率会非常高,非常快。