On Mon, Sep 2, 2019 at 3:02 AM MRAB <pyt...@mrabarnett.plus.com> wrote: > > On 2019-09-01 16:46, Barry wrote: > > > > > >> On 31 Aug 2019, at 15:41, Manfred Lotz <ml_n...@posteo.de> wrote: > >> > >> When you say COULD this sounds like it is a matter of luck. My thinking > >> was that USUALLY the file will be closed after the statement because > >> then the file handle goes out of scope. > > > > It all depends on the way any python implementation does its garbage > > collection. The file is closed as a side effect of deleting the file object > > to reclaiming the memory of the file object. > > > > At the start of python 3 people where suprised when files and other > > resources where not released at the same time that python 2 released them. > > > Is that true? > > I thought that it was because other implementations of Python, such as > Jython and IronPython, don't use reference counting, so files and other > resources aren't necessarily released as soon as an object loses its > last reference, and, moreover, it's not required to do so by the > language definition. >
Yeah. Given that the PEP introducing the 'with' statement dates back well before Python 3, I very much doubt it has anything to do with the 3.0 changes. ChrisA -- https://mail.python.org/mailman/listinfo/python-list