Как получить полную трассу стека исключений в Python

Следующий фрагмент:

import traceback

def a():
    b()

def b():
    try:
        c()
    except:
        traceback.print_exc()

def c():
    assert False

a()

Производит этот вывод:

Traceback (most recent call last):
  File "test.py", line 8, in b
    c()
  File "test.py", line 13, in c
    assert False
AssertionError

Что мне использовать, если я хочу получить полную трассу стека, включая вызов a?

Если это важно, у меня есть Python 2.6.6

edit: Что я хочу получить, так это ту же самую информацию, которую я бы получил, если бы оставил попытку кроме как есть, и позволил бы исключению распространиться на верхний уровень. Этот фрагмент, например:

def a():
    b()

def b():
    c()

def c():
    assert False

a()

производит этот вывод:

Traceback (most recent call last):
  File "test.py", line 10, in <module>
    a()
  File "test.py", line 2, in a
    b()
  File "test.py", line 5, in b
    c()
  File "test.py", line 8, in c
    assert False
AssertionError
29
задан Gordon Wrigley 22 April 2016 в 12:48
поделиться