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
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to