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
Adding the 'with' statement added determinism.
See PEP 343 -- The "with" Statement