Python Glossary English

все Python 3tracebackфункция

traceback.extract_stack()

кадры и стек

Снимок текущего стека вызовов как StackSummary: где программа сейчас и кто её сюда вызвал — исключение для этого не нужно.

Синтаксис

traceback.extract_stack(f=None, limit=None)

В отличие от extract_tb, которой нужна трассировка исключения, extract_stack смотрит на живой стек «здесь и сейчас»: так находят, кто вызвал функцию. Порядок — от внешнего кадра к текущему; последний элемент — строка с самим вызовом extract_stack, поэтому вызывающая функция — элемент [-2]. limit=N оставляет N ближайших к текущему месту кадров, а не N первых.

Примеры

import traceback
def who_called():
    return traceback.extract_stack(limit=2)[0].name
def report():
    return who_called()
print(report())  # → report

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности