Python 3.2+inspectфункция
inspect.getgeneratorstate()
корутины и генераторы
Состояние генератора строкой: GEN_CREATED, GEN_RUNNING, GEN_SUSPENDED или GEN_CLOSED.
Синтаксис
inspect.getgeneratorstate(generator)
Состояния — обычные строки и константы inspect.GEN_*; сравнивайте с константами. GEN_RUNNING видно только изнутри самого генератора. Исчерпанный генератор и закрытый через close() одинаково GEN_CLOSED, а созданный, но не запущенный — GEN_CREATED: в него ещё нельзя send() ничего, кроме None. Для корутин есть отдельная getcoroutinestate.
Примеры
import inspect
def g():
yield inspect.getgeneratorstate(gen)
gen = g()
print(inspect.getgeneratorstate(gen)) # → GEN_CREATED
print(next(gen)) # → GEN_RUNNING
print(inspect.getgeneratorstate(gen) == inspect.GEN_SUSPENDED) # → True
gen.close()
print(inspect.getgeneratorstate(gen)) # → GEN_CLOSED
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности