git.net

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

open, close


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.

Adding the 'with' statement added determinism.

See PEP 343 -- The "with" Statement