Конструирую генератор для построчного чтения лог файла с возможностью контролировать позицию чтения с лога:
class LogParser: def __init__(self, file_name): self.log_file = open(file_name) self.where = 0L def iter_line(self): while True: self.where = self.log_file.tell() raw_line = self.log_file.readline() if raw_line: yield raw_line else: raise StopIteration
parser = LogParser('some.log') for line in parser.iter_line(): print parser.where, ' ', line
log_file = open(file_name) for line in log_file.xreadlines(): print log_file.tell(), ' ', line
Подскажите как правильно сконструировать генератор с контролем положения курсора.