Вот пример получения стека через модуль traceback и его печати:
import traceback
def f():
g()
def g():
for line in traceback.format_stack():
print(line.strip())
f()
# Prints:
# File "so-stack.py", line 10, in <module>
# f()
# File "so-stack.py", line 4, in f
# g()
# File "so-stack.py", line 7, in g
# for line in traceback.format_stack():
Если вы действительно хотите распечатать стопку в stderr, вы можете использовать:
traceback.print_stack()
Или для печати на стандартный вывод (полезно, если вы хотите сохранить перенаправленный вывод вместе), используйте:
traceback.print_stack(file=sys.stdout)
Но получение через traceback.format_stack()
позволяет вам делать с ним все что угодно.