在一个函数中
def fun():pass
这个函数如何知道是谁调用了它呢? 在C类语言中好像是很难的。但在 python中却很简单
import traceback
def fun():
s = traceback.extract_stack()
print '%s Invoked me!'%s[-2][2]
这个 fun 函数就可以知道是谁调用了它,并打印出来, 我们来试一下:
>>> def a():fun()
>>> def b():fun()
>>> a()
a Invoked me!
>>> b()
b Invoked me!
>>>
本文介绍了一种使用Python的traceback模块来确定并打印出哪个函数调用了当前函数的方法。通过提取调用堆栈信息,可以轻松地识别调用者。

被折叠的 条评论
为什么被折叠?



