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

Reply via email to