目前我可以使用此命令获取函数名称:
sys._getframe().f_code.co_name
我想把它放在这样的功能中:
def func_name:
return sys._getframe().f_code.co_name
此函数始终返回' func_name'。是否可以获得调用此函数的函数名称?
答案 0 :(得分:2)
如果您发布的代码适合您,请尝试给_getframe()
一个参数1.参数告诉返回哪个帧,默认为0;你想要1,意思是从第0帧被调用的帧。
但是,如果你需要它来处理更多Python的实现,那么“inspect”模块可能就是你想要的。
答案 1 :(得分:1)
避免使用sys._getframe
:
import inspect
def bar():
current_frame = inspect.currentframe()
previous_frame = current_frame.f_back
print previous_frame.f_code.co_name
def foo():
bar()
foo()