You can use the inspect module to get the info you want. Its stack method returns a list of frame records.
-
For Python 2 each frame record is a list. The third element in each record is the caller name. What you want is this:
>>> import inspect >>> def f(): ... print inspect.stack()[1][3] ... >>> def g(): ... f() ... >>> g() g
-
For Python 3.5+, each frame record is a named tuple so you need to replace
print inspect.stack()[1][3]
with
print(inspect.stack()[1].function)
on the above code.