Anonymous file closing
surferjeff at gmail.com
Fri Jun 11 21:08:47 CEST 2004
Duncan Booth <me at privacy.net> wrote in message news:<Xns9505685D9AE0Cduncanrcpcouk at 127.0.0.1>...
> Sergey Krushinsky <lunarium at comail.ru> wrote in
> news:mailman.845.1086940793.6949.python-list at python.org:
> > Hello all,
> > If I need to read a string from a file and use syntax like:
> > text = open(filename, 'r').read()
> > ...
> > is the file object ever closed?
> > With best regards,
> > Sergey
> Yes it is closed, but it isn't well defined as to exactly when it is
> closed. You can safely assume that the file will be closed sometime between
> the read returning and your program exiting.
> If you aren't worried about portability, and you are using the C
> implementation of Python then you may find it is closed immediately but it
> is poor practice to depend on it.
This is true, but I recommend:
1. Only use the C implementation of Python, a.k.a. The Implementation.
2. Depend on the file being closed immediately in this case. If the
authors of the C implementation ever changed this behavior, they would
break *lots* of existing python code, and they would also break one of
the nicest example of how Python just works.
More information about the Python-list