Lifetime of a local reference
Chris Angelico
rosuav at gmail.com
Tue Feb 26 17:04:38 EST 2019
On Wed, Feb 27, 2019 at 9:00 AM Marko Rauhamaa <marko at pacujo.net> wrote:
> Consider this function:
>
> def fun():
> f = open("lock")
> flock.flock(f, fcntl.LOCK_EX)
> do_stuff()
> sys.exit(0)
>
> Question: can a compliant Python implementation close f (and,
> consequently, release the file lock) before/while do_stuff() is
> executed?
>
> I couldn't find an immediate answer in the documentation.
The variable is alive, so the object is alive. Common sense should
make this clear, but there's probably some details in the
documentation if you actually need a citation. The name "f" is part of
the function's locals until that function returns or the name is
explicitly unbound.
ChrisA
More information about the Python-list
mailing list