On Apr 28, 10:10 pm, [EMAIL PROTECTED] wrote: > George, > > > Is there an elegant way to unget a line when reading from a file/stream > > iterator/generator? > > http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/502304 > > That's exactly what I was looking for! > > For those following this thread, the above recipe creates a generic > object that wraps any iterator with an 'unget' ("push") capability. > Clean and elegant! > > Thank you, > Malcolm
A small suggestion: since unget is expected to be called infrequently, next should better be faster for the common case instead of penalizing it with a try/except: def next(self): if not self.pushed_back: return self.it.next() else: return self.pushed_back.pop() George -- http://mail.python.org/mailman/listinfo/python-list