Python Glossary English

все Python 3inspectпонятие

inspect.Traceback

стек и кадры

То, что возвращает getframeinfo(): filename, lineno, function, code_context, index и positions. С объектом трассировки исключения не путать.

Синтаксис

info = inspect.getframeinfo(frame); info.filename, info.lineno, info.function

Имя сбивает: это не types.TracebackType из e.__traceback__, а сводка о кадре (до 3.11 — именованный кортеж). Распаковка и индексы работают как у кортежа из пяти полей; positions (строки и столбцы инструкции, с 3.11) в кортеж не входит и доступно только как атрибут. Создавать такой объект руками не нужно.

Примеры

import inspect, types
info = inspect.getframeinfo(inspect.currentframe())
print(type(info).__name__, info.function, info.lineno)  # → Traceback <module> 2
print(info.code_context)  # → ['info = inspect.getframeinfo(inspect.currentframe())\n']
print(len(info), info[1] == info.lineno)  # → 5 True
print(isinstance(info, types.TracebackType))  # → False

См. также

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