How to write a file generator

Thomas Jollans t at jollybox.de
Tue Jul 12 17:52:50 CEST 2011


On 07/12/2011 04:46 PM, Billy Mays wrote:
> 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://stackoverflow.com/questions/1475950/tail-f-in-python-with-no-time-sleep



More information about the Python-list mailing list