[Python-Dev] Short-circuiting iterators

Raymond Hettinger raymond.hettinger at verizon.net
Wed Dec 7 03:58:50 CET 2005


[Matthew F. Barnes] 
> > > Perhaps it would be a useful addition to the itertools
> > > module then?
> > >
> > > itertools.interruptable(iterable)

[Raymond Hettinger]
> > Any real-world use cases or compelling contrived examples?

[Simon Wittber]
> I use something like this in the nanothreads module.
>> http://metaplay.dyndns.org:8081/svn/fibranet/fibranet/nanothreads.py
>> This feature is implemented in the Fibra class, in the end and kill
> methods. It is used to stop an iterator from parts of the code which
> are not part of the loop that is actually iterating the iterator.
>> This usage is specific to situations where generators are being used
> as cooperative threads.

Are there any generator specific needs that are not met by the PEP 342
implementation? Given a choice between throw(), close(), and send(), I
would have thought that all the bases have been covered.
Raymond


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /