python close file descriptor question

If you assign the file object to a variable, you can explicitly close it using .close()

f = open('test.txt','r')
buf = f.readlines()
f.close()

Alternatively (and more generally preferred), you can use the with keyword (Python 2.5 and greater) as mentioned in the Python docs:

It is good practice to use the with
keyword when dealing with file
objects. This has the advantage that
the file is properly closed after its
suite finishes
, even if an exception
is raised on the way. It is also much
shorter than writing equivalent
try-finally blocks:

>>> with open('test.txt','r') as f:
...     buf = f.readlines()
>>> f.closed
True

Leave a Comment