Python:获取当前位置的模块/类和函数名称

时间:2018-04-20 14:02:26

标签: python logging

在Python中,我想在脚本中检索模块/类/函数的实际名称。

我该怎么做?

背景:

我想动态地在日志中打印模块/类/函数的名称。

所以我的首选解决方案是:

my_script.py    

def my_function():
    print (xxxxxx)

    print ("hallo")

my_function()

结果:

pydev debugger: process 23262 is connecting
my_script.py, my_function
hallo

1 个答案:

答案 0 :(得分:0)

def log_name():
    if True:
        print(re.sub(".*/","",str(traceback.extract_stack()[-2])))


def my_function():
    log_name()

编辑:

这通过traceback模块获取调用堆栈,并获取第二个但最后一个条目。该路径被截断为模块的名称。