Peter Otten wrote: >> Both Python 2.4 and 2.5 don't clean up properly here. Why is this? >> Aren't classes supposed to be garbage-collected? > > The reference keeping the classes alive is probably > object.__subclasses__(): > >>>> class A(object): pass > ... >>>> sum(1 for c in object.__subclasses__() if c.__name__ == "A") > 1 >>>> class A(object): pass > ... >>>> sum(1 for c in object.__subclasses__() if c.__name__ == "A") > 2
Oops, wrong guess: >>> import gc >>> gc.collect() 6 >>> sum(1 for c in object.__subclasses__() if c.__name__ == "A") 1 Peter -- http://mail.python.org/mailman/listinfo/python-list