Как обработать AssertionError в Python и узнать, на какой строке или в каком выражении он произошел?

Я хочу справитьсяAssertionErrors для того, чтобы скрыть от пользователя ненужные части трассировки стека и напечатать сообщение о том, почему произошла ошибка и что пользователь должен с ней сделать.

Is there any way to find out on which line or statement the assert failed within the except block?

try:
    assert True
    assert 7 == 7
    assert 1 == 2
    # many more statements like this
except AssertionError:
    print 'Houston, we have a problem.'
    print
    print 'An error occurred on line ???? in statement ???'
    exit(1)

Я не хочу добавлять это к каждому утверждению assert:

assert 7 == 7, "7 == 7"

потому что это повторяет информацию.

Ответы на вопрос(2)

Ваш ответ на вопрос