Ответ 1
Это traceback.extract_stack()
, если вам нужен удобный доступ к именам модулей и функций и номерам строк или ''.join(traceback.format_stack())
, если вы просто хотите, чтобы строка выглядела как вывод traceback.print_stack()
.
traceback.format_exc()
может получить его с созданием исключения.
traceback.print_stack()
печатает стек без необходимого исключения, но он не возвращает строку.
Кажется, не существует способа получить строку трассировки стека, не создавая исключения в python?
Это traceback.extract_stack()
, если вам нужен удобный доступ к именам модулей и функций и номерам строк или ''.join(traceback.format_stack())
, если вы просто хотите, чтобы строка выглядела как вывод traceback.print_stack()
.
Как насчет traceback.format_stack?
Используйте модуль inspect. В частности, проверьте. currentframe() - но весь модуль существует с целью взглянуть на состояние вашей программы в данный момент времени.
Некоторые полезные проверочные трюки здесь.