How to identify generator/iterator objects?
kenneth.m.mcdonald at sbcglobal.net
Wed Oct 25 21:36:46 CEST 2006
I'm trying to write a 'flatten' generator which, when give a
generator/iterator that can yield iterators, generators, and other data
types, will 'flatten' everything so that it in turns yields stuff by
simply yielding the instances of other types, and recursively yields the
stuff yielded by the gen/iter objects.
To do this, I need to determine (as fair as I can see), what are
generator and iterator objects. Unfortunately:
<iterator object at 0x61d90>
>>> def f(x):
... for s in x: yield s
<function f at 0x58230>
So while I can identify iterators, I can't identify generators by class.
Is there a way to do this? Or perhaps another (better) way to achieve
this flattening effect? itertools doesn't seem to have anything that
will do it.
More information about the Python-list