博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中获取当前运行函数名称的方法
阅读量:5962 次
发布时间:2019-06-19

本文共 1556 字,大约阅读时间需要 5 分钟。

  hot3.png

直接贴代码[可参考python核心编程4.4]

#获取调用该函数所在(被调用)的函数名 

#author:peterguo@vip.qq.com def get_func_name():    import sys    try:        raise Exception    except:        exc_info = sys.exc_info()                                                         #返回 异常类型,异常,traceback对象        traceObj = exc_info[2]                                                             #traceback对象        frameObj = traceObj.tb_frame                                                 #获取frame对象,即本函数的frame信息        #print frameObj.f_code.co_name,frameObj.f_lineno                 #请在使用的时候将其注释        Upframe = frameObj.f_back                                                     #获取该代码段的frame信息,即调用该函数的函数frame        #print Upframe.f_code.co_name, Upframe.f_lineno                   #请在使用的时候将其注释        return (Upframe.f_code.co_name, Upframe.f_lineno)[0]           #获取名称调用方法

获取文件名路径,函数名,行号

------------------------------------------------------------------------------

def getCurRunPosInfo():    import sys    try:        raise Exception    except:        exc_info = sys.exc_info()                traceObj = exc_info[2]              frameObj = traceObj.tb_frame         #print frameObj.f_code.co_name,frameObj.f_lineno        Upframe = frameObj.f_back                                #print Upframe.f_code.co_name, Upframe.f_lineno          return (Upframe.f_code.co_filename, Upframe.f_code.co_name, Upframe.f_lineno)
#测试代码def test1():    print getCurRunPosInfo()def test2():    print get_func_name()    输出:>>('demo.py', 'test1', 44)>>test2

转载于:https://my.oschina.net/sanpeterguo/blog/204703

你可能感兴趣的文章
我的友情链接
查看>>
Guava——使用Preconditions做参数校验
查看>>
iSCSI存储用作Proxmox VE的LVM共享存储
查看>>
网络营销——关键词竞争度分析
查看>>
Sonnet Suite Pro v11.52-ISO 1CD(三维高频电子设计)
查看>>
Fedora Core 6 刷新率超出范围解决方法
查看>>
linux网络
查看>>
我的友情链接
查看>>
linux 系统调优步骤 例
查看>>
显式方法与隐式方法
查看>>
Android防火墙+流量统计代码
查看>>
通知中心
查看>>
马哥9-3
查看>>
我的友情链接
查看>>
MVC中的三个模块
查看>>
Line: 220 - com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1
查看>>
oracle 常用命令大汇总
查看>>
2012年春运火车票电话和网上订票技巧、攻略
查看>>
运维工程师的职责和前景
查看>>
Gcc编译流程解析
查看>>