Hi All, I want to use generators to print lines taken from a gzipped file. I've never used generators, so probably my problem is basic misunderstanding of generators.
In the below program, I expected the last line ("print line_") to print the first line of the sac.log.gz file. Instead, I get: <generator object at 0x00B93A08> Could you tell me what I'm doing wrong (or point me to a URL that could set me straight) ? Thanks, Ron. $ cat LogManager_try.py #!/usr/bin/env python import gzip import os class LogStream(): """ """ def __init__(self, filename): self.filename = filename self.input_file = self.open_file(filename) def open_file(self, in_file): """ The gzip module checks if the input file is a gzipped file, only at the read stage. This is why the f.readline() is needed. """ try: f = gzip.GzipFile(in_file, "r") f.readline() except IOError: f = open(in_file, "r") f.readline() f.seek(0) return(f) def next_line(self, in_file): """ """ for line_ in in_file: yield line_.strip() if __name__ == "__main__": filename = "sac.log.gz" log_stream = LogStream(filename) line_ = log_stream.next_line(log_stream.input_file) print line_ $ python LogManager_try.py <generator object at 0x00B94648> $ -- Ron Barak, System Development Engineer LSI Technologies Israel Ltd 63 Bar Yehuda Road, Nesher 36651 Israel Tel: (+972) 4 8203454 x1542 Fax: (+972) 4 8203464 [cid:263372909@22122008-2BEE][cid:263372...@22122008-2bf5] Remember, Ginger Rogers did everything Fred Astaire did, but backwards and in high heels. (Faith Whittlesey)
<<inline: image001.jpg>>
<<inline: image003.jpg>>
-- http://mail.python.org/mailman/listinfo/python-list