import sys, os, _codecs class Blob(object): write = os.write encode = _codecs.ascii_encode remaining = set() def __init__(self, name): self.name = name self.remaining.add(name) def __del__(self): self.remaining.discard(self.name) tmp = "# purge/gc %s %s\n" % (self.name, self.remaining.__len__()) if self.remaining.__len__() <= 5: tmp += "# remaining %s\n" % self.remaining self.write(2, self.encode(tmp)[0]) for name, mod in sys.modules.items(): mod.__dict__["__blob__"] = Blob(name) del name, mod