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