Python Glossary English

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Сообщить о неточности