通过python的inspect模块,我们可以获取程序的运行时栈。一个python的运行时栈是一个六元组:(frame对象, 文件名, 当前行号, 函数名, 保存相关源代码行的列表, 当前行在源代码列表中的位置)。
栈中第一个元素代表当前执行的位置信息,最后一个表示最外层的执行信息。
如:
1 import inspect
2
3 class Foo:
4 def __init__(self):
5 pass
6 def say(self):
7 print inspect.stack()[1][1]
8 print inspect.stack()[1][2]
9 print inspect.stack()[1][3]
10
11 def hello(self):
12 self.say()
13
14 f = Foo()
15 f.hello()
输出信息为:
test.py
11
hello
时间: 2024-10-07 04:24:23