I want to make a generator that will return lines from the tail of /var/log/syslog if there are any, but my function is reopening the file each call:

def getLines():
    with open('/var/log/syslog', 'rb') as f:
        while True:
            line = f.readline()
            if line:
                yield line
            else:
                raise StopIteration


I know the problem lies with the StopIteration, but I'm not sure how to tell the caller that there are no more lines for now.

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

Reply via email to