Возможно ли получить все строки строки продолжения в трассировке?
Пример:
#! /usr/bin/env python
def function_with_long_name(foo, bar):
raise Exception('problem?')
function_with_long_name('very_important_value',
'meaningless_value')
Вывод:
$ ./test.py
Traceback (most recent call last):
File "./test.py", line 5, in <module>
'meaningless_value')
File "./test.py", line 3, in function_with_long_name
raise Exception('problem?')
Exception: problem?
Обратите внимание, что он печатаеттолько последняя строка строки продолжения.
Я бы хотел, чтобы все строки линии продолжения были примерно такими:
$ ./test.py
Traceback (most recent call last):
File "./test.py", line 5, in <module>
function_with_long_name('very_important_value',
'meaningless_value')
File "./test.py", line 3, in function_with_long_name
raise Exception('problem?')
Exception: problem?
Возможно ли это?
Я посмотрел на модуль traceback
, но возвращаемые им значения уже обрезаны.
Пример:
#! /usr/bin/env python
import traceback
def function_with_long_name(foo, bar):
print traceback.extract_stack()
function_with_long_name('very_important_value',
'meaningless_value')
Вывод:
$ ./test.py
[('./test.py', 6, '<module>', "'meaningless_value')"), ('./test.py', 4, 'function_with_long_name', 'print traceback.extract_stack()')]