How to get the caller's method name in the called method?
introspection, python
Solution
inspect.getframeinfo and other related functions in `inspect` can help:
>>> 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
this introspection is intended to help debugging and development; it's not advisable to rely on it for production-functionality purposes.
Problem
Python: How to get the caller's method name in the called method? Assume I have 2 methods: ``` def method1(self): ... a = A.method2() def method2(self): ... ``` If I don't want to do any change for method1, how to get the name of the caller (in this example, the name is method1) in method2?