如何在被调用的方法中获取调用者的方法名称?Python:如何在被调用的方法中获取调用者的方法名?假设我有两种方法:def method1(self):
...
a = A.method2()def method2(self):
...如果我不想对method1进行任何更改,如何在method2中获取调用者的名称(在此示例中,名称为method1)?
3 回答
万千封印
TA贡献1891条经验 获得超3个赞
inspect.getframeinfo和其他相关函数inspect
可以帮助:
>>> import inspect>>> def f1(): f2()... >>> def f2():... curframe = inspect.currentframe()... calframe = inspect.getouterframes(curframe, 2)... print('caller name:', calframe[1][3])... >>> f1()caller name: f1
这种内省旨在帮助调试和开发; 不建议将其用于生产功能目的。
跃然一笑
TA贡献1826条经验 获得超6个赞
更短的版本:
import inspectdef f1(): f2()def f2(): print 'caller name:', inspect.stack()[1][3]f1()
添加回答
举报
0/150
提交
取消