[Python-Dev] reference leaks, __del__, and annotations
Greg Ewing
greg.ewing at canterbury.ac.nz
Sat Apr 1 08:50:02 CEST 2006
Nick Coghlan wrote:
> from contextlib import closing
>
> with closing(itr):
> # Use the iterator in here as you wish
> # secure in the knowledge it will be
> # cleaned up promptly when you are done
> # whether it is a file, a generator or
> # something with a database connection
> for item in itr:
> print item
I seem to remember we've been here before. I'll
be disappointed if I have to wrap every for-loop
that I write in a with-statement on the offchance
that it might be using a generator that needs
finalisation in order to avoid leaking memory.
I'm becoming more and more convinced that we
desperately need something better than __del__
methods to do finalisation. A garbage collector
that can't be relied upon to collect garbage
is simply not acceptable.
--
Greg
More information about the Python-Dev
mailing list