Alex Rivera | Logout

for line in open(filename)

Asked 2009-09-25T17:47:07.950
37

I frequently see python code similar to

for line in open(filename):
    do_something(line)

When does filename get closed with this code?

Would it be better to write

with open(filename) as f:
    for line in f.readlines():
        do_something(line)
Edit
Report

1 Answer

8

The with part is better because it close the file afterwards. You don't even have to use readlines(). for line in file is enough.

I don't think the first one closes it.

answered 2009-09-25T17:50:45.540

Your Answer