git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

open, close


On Mon, Sep 2, 2019 at 3:02 AM MRAB <python at mrabarnett.plus.com> wrote:
>
> On 2019-09-01 16:46, Barry wrote:
> >
> >
> >> On 31 Aug 2019, at 15:41, Manfred Lotz <ml_news at 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