获取追溯中延续线的所有行

时间:2011-10-02 17:47:26

标签: python traceback

是否有可能在追溯中获得延续线的所有行?

示例:

#! /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()')]

1 个答案:

答案 0 :(得分:1)

有人似乎刚刚开了Python issue 12458。建议你跟着那里。