Python 3.12+inspectфункция
inspect.getasyncgenlocals()
корутины и генераторы
Словарь текущих локальных переменных приостановленного асинхронного генератора. Появилась в 3.12.
Синтаксис
inspect.getasyncgenlocals(agen)
Работает как getgeneratorlocals: до первого anext() в словаре лишь аргументы, после aclose() он пуст. Значения — снимок на текущем yield, правка словаря генератор не меняет. Передать нужно объект асинхронного генератора, а не функцию.
Примеры
import asyncio, inspect
async def squares():
for i in range(1, 4):
sq = i * i
yield sq
async def main():
agen = squares()
print(inspect.getasyncgenlocals(agen))
await anext(agen)
print(inspect.getasyncgenlocals(agen))
await agen.aclose()
asyncio.run(main()) # → {} / {'i': 1, 'sq': 1}
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности