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: >>> iter("abc") <iterator object at 0x61d90> >>> def f(x): ... for s in x: yield s ... >>> f <function f at 0x58230> >>> f.__class__ <type 'function'> 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. Thanks, Ken -- http://mail.python.org/mailman/listinfo/python-list