Possible File iteration bug

Billy Mays noway at nohow.com
Thu Jul 14 15:46:26 EDT 2011


I noticed that if a file is being continuously written to, the file 
generator does not notice it:



def getLines(f):
     lines = []
     for line in f:
         lines.append(line)
     return lines

with open('/var/log/syslog', 'rb') as f:
     lines = getLines(f)
     # do some processing with lines
     # /var/log/syslog gets updated in the mean time

     # always returns an empty list, even though f has more data
     lines = getLines(f)




I found a workaround by adding f.seek(0,1) directly before the last 
getLines() call, but is this the expected behavior?  Calling f.tell() 
right after the first getLines() call shows that it isn't reset back to 
0.  Is this correct or a bug?

--
Bill



More information about the Python-list mailing list