Как использовать sys._getframe()?

Senior
99 просмотров
AFK Offer AI

sys._getframe(depth) — получить frame object на глубине depth. _getframe(0) — текущий, _getframe(1) — вызывающий. Применения: получить имя вызывающей функции — sys._getframe(1).f_code.co_name. Получить caller filename/lineno для логирования. Реализация декораторов с информацией о вызывающем коде. Подчёркивание в имени — implementation detail, не гарантирован в не-CPython. inspect.currentframe() — предпочтительная альтернатива. Не используй в production логике — медленно и хрупко. Подходит для: debugging tools, logging frameworks, test frameworks.

Следующий вопрос

Как работает tracemalloc?