"RuntimeError: dictionary changed ... & Ruby
Alex Martelli
aleaxit at yahoo.com
Mon Mar 13 21:44:26 EST 2006
Marc 'BlackJack' Rintsch <bj_666 at gmx.net> wrote:
> In <duvjsk$2r0f$1 at ulysses.news.tiscali.de>, robert wrote:
>
> > * Ruby without refcounts provides no deterministic __del__ in
> > non-circular refs ==> your type finally finally finally .close .close
> > .close all the time
>
> Which is what you should type in Python too as there's no guarantee that
> `__del__()` will be called immidiatly when the file object goes out of
> scope or isn't referenced anymore. The reference counting memory
> management is an implementation detail.
Absolutely true -- which is why Python 2.5 adds a new `with' statement
that allows using the powerful idiom "resource acquisition is
initialization" without relying on any implementation details (yay!).
Alex
More information about the Python-list
mailing list