如果您有两个功能,例如:
def A def B
并且A呼叫B,您能知道谁在B内部呼叫B时,例如:
def A () : B () def B () : this.caller.name
您可以使用检查模块获取所需的信息。它的堆栈方法返回帧记录列表。
>>> import inspect
def f(): … print inspect.stack()[1][3] … def g(): … f() … g() g
print inspect.stack()[1][3]
与
print(inspect.stack()[1].function)
在上面的代码上。