loial wrote: > If I read a file using a for loop, as follows, is the file left open if I > execute a break in the for loop? > > > for line in open(myFile).readlines(): > > if something: > break
Whether the file is left open has nothing to do with how you leave the loop. The way you wrote it (readlines() reads all lines into a list and there is no reference to the file object left) CPython will close the file before you enter the loop: $ python Python 2.7.6 (default, Mar 22 2014, 22:59:56) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> for line in open("tmp.txt").readlines(): ... raw_input("you are here") ... break ... you are here [1]+ Angehalten python $ lsof * Other implementations take a bit more time: $ jython "my" variable $jythonHome masks earlier declaration in same scope at /usr/bin/jython line 15. Jython 2.5.3 (, Nov 21 2013, 23:15:42) [OpenJDK 64-Bit Server VM (Oracle Corporation)] on java1.7.0_65 Type "help", "copyright", "credits" or "license" for more information. >>> for line in open("tmp.txt"): pass ... >>> [2]+ Angehalten jython $ lsof * COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 9396 xxxxx 34r REG 8,23 17 5906455 tmp.txt $ -- https://mail.python.org/mailman/listinfo/python-list