这个模块提供了一个用于提取、格式化、打印Python程序栈轨迹的标准接口。它完全在模仿Python解析器行为来打印栈轨迹。当你想要在程序控制下打印堆栈跟踪结果时,例如在解释器周围的’包装’中,这是非常有用的。
这个模块使用 traceback
对象 —— 这是存储在 sys.last_traceback
中的对象类型变量,并作为 sys.exc_info()
的第三项被返回。
模块定义了以下函数:
-
traceback.extract_tb(tb, limit=None)
返回一个
StackSummary
对象,表示一系列从traceback
对象tb
提取出的"预处理"轨迹跟踪。它对于堆栈跟踪的替代格式化非常有用。如果为正,
limit
指从traceback
对象tb
中提取的轨迹跟踪条目(stack trace entries);如果为负,则是
abs(limit)
个条目;如果
limit
遗漏或为None
,表示提取所有条目。预处理的栈轨迹是一个包含filename,lineno,name属性的
FrameSummary
对象。