是否有可能在回溯中获得延续行的所有行?
的例子:
#! /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()')]
似乎有人刚刚打开了Python问题12458。