How to overide "for line in file:"

Terry Reedy tjreedy at
Mon Feb 23 16:57:51 CET 2004

"Harry George" < at> wrote in message
news:xqxsmh2dyyn.fsf at
> Slightly off topic, how do you "reset" or backup an iter?

Write your own bidirectional iterator class with a backup or prev method
and use it within a while loop instead of for loop.  Iterators produced by
iter() and generator functions are meant to be once through.  This
simplicity allows very efficient yield/next control tranfers.  Some
iterables, such as actual sequences, can be reiterated from the beginning.
And generator functions can to re-called, with same or different params.

> Historically, I've made a list, kept track of the line index, and
> decremented that when I needed to backup.  Does iter have something
> equiv?

If you mean builtin iter(), no.

Terry J. Reedy

More information about the Python-list mailing list