On 7/14/2011 3:46 PM, Billy Mays wrote:
I noticed that if a file is being continuously written to, the file
generator does not notice it:

Because it does not look, as Ian explained.

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

This nearly duplicates .readlines, except for using f an an iterator.
Try the following (untested):

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

People regularly do things like this with readline, so it is possible. If above does not work, try (untested):

def getlines(f):
  lines = []
  while True:
    l = f.readline()
    if l: lines.append(l)
    else: return lines

--
Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to