Is a with on open always necessary?
Arnaud Delobelle
arnodel at gmail.com
Fri Jan 20 10:56:26 EST 2012
On 20 January 2012 15:44, Andrea Crotti <andrea.crotti.0 at gmail.com> wrote:
> I normally didn't bother too much when reading from files, and for example
> I always did a
>
> content = open(filename).readlines()
>
> But now I have the doubt that it's not a good idea, does the file handler
> stays
> open until the interpreter quits?
IIRC it stays open until garbage collected (it's closed in the file
object's __del__ method). When the file object is collected is an
implementation detail, although in CPython it will happen straight
away because it uses reference counting.
> So maybe doing a
>
> with open(filename) as f:
> contents = f.readlines()
That's what I do, unless I'm in an interactive session.
--
Arnaud
More information about the Python-list
mailing list