- 此问题在此处已有答案**:
How to get the caller's method name in the called method?(11个答案)
三年前关闭了。
如果您有2个功能,如:
def A
def B
A呼叫B,你能知道是谁在呼叫B吗?
def A () :
B ()
def B () :
this.caller.name
How to get the caller's method name in the called method?(11个答案)
三年前关闭了。
如果您有2个功能,如:
def A
def B
A呼叫B,你能知道是谁在呼叫B吗?
def A () :
B ()
def B () :
this.caller.name
5条答案
按热度按时间wlp8pajw1#
你可以使用inspect模块来获取你想要的信息,它的stack方法返回一个帧记录列表。
与
上面的代码。
umuewwlo2#
使用
sys
和inspect
模块有两种方式:sys._getframe(1).f_code.co_name
inspect.stack()[1][3]
stack()
可读性较差,并且依赖于实现,因为它调用sys._getframe()
,请参见inspect.py
摘录:bt1cpqcv3#
inspect
模块,请参阅其他答案 *sys._getframe(1).f_code.co_name
,如下例所示:重要提示:从
_getframe
方法名称(嘿,它以下划线开头)可以明显看出,它不是一个不应该盲目依赖的API方法。oalqel3c4#
这对我很有效!:D
clj7thdc5#
您可以使用日志记录模块并在BaseConfig()中指定%(funcName)s选项