Python Glossary English

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

traceback.print_stack()

печать трассировки

Печатает текущий стек вызовов в stderr — быстрый ответ на вопрос «как программа сюда попала» без отладчика.

Синтаксис

traceback.print_stack(f=None, limit=None, file=None)

Исключение не нужно: вызов можно вставить в любое место кода. Вывод идёт в stderr, а print — в stdout, и при перенаправлении в файл их строки могут оказаться не в том порядке: stdout буферизуется, stderr — нет. Чтобы порядок сохранился, передайте file=sys.stdout. limit=N печатает только N ближайших кадров.

Примеры

import sys, traceback
def handler():
    traceback.print_stack(limit=1, file=sys.stdout)
handler()  # → ? File "…/example.py", line 3, in handler — путь зависит от машины

См. также

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