Jeffrey Schwab wrote: > [EMAIL PROTECTED] wrote: >> hello, >> >> .... i often encounter something like: >> >> acc = [] # accumulator ;) >> for line in fileinput.input(): >> if condition(line): >> if acc: #1 >> doSomething(acc) #1 >> acc = [] >> else: >> acc.append(line) >> if acc: #2 >> doSomething(acc) #2 > > Could you add a sentry to the end of your input? E.g.: > for line in fileinput.input() + line_that_matches_condition: > This way, you wouldn't need a separate check at the end.
Check itertools for a good way to do this: import itertools SENTRY = 'something for which condition(SENTRY) is True' f = open(filename) try: for line in itertools.chain(f, [SENTRY]): if condition(line): if acc: doSomething(acc) acc = [] else: acc.append(line) assert acc == [] finally: f.close() --Scott David Daniels [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list