多くのオブジェクトを作成してから、リストに保存します。しかし、ニュースを作成し、メモリが高くなりたくないので、しばらくしてから削除したいと思います(私の場合、削除しないと20ギガのRAMにジャンプします)。
これが私がやろうとしていることを説明するための小さなコードです:
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は、これら2つのオブジェクトのリストです。私はCのforループでそれを確実に削除しようとしています:1回はDELで、もう1回は関数で。印刷物にオブジェクトが表示され続けるため、機能していないようです。
10万個のオブジェクトを何度も作成するので、これが必要です。最初に100kオブジェクトを作成し、2回目は別の100kを作成しますが、前の100kを保持する必要はありません。それらを削除しないと、メモリ使用量が非常に速くなります。