python获取当前运行函数名称的方法实例代码


Posted in Python onApril 06, 2017

python获取当前运行函数名称的方法实例代码

摘要: c/c++中获取函数所在源码名,函数名和行号的方法很简单 __FILE__,__FUNCTION__和__LINE__ python没有这种语法,但也可以通过某种方法得到,这里给出例子,使用异常信息得到【可能会损失性能】

直接贴代码[可参考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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
python定时检查启动某个exe程序适合检测exe是否挂了
Jan 21 Python
python使用xpath中遇到:到底是什么?
Jan 04 Python
linux安装Python3.4.2的操作方法
Sep 28 Python
python得到电脑的开机时间方法
Oct 15 Python
从DataFrame中提取出Series或DataFrame对象的方法
Nov 10 Python
Python使用pyserial进行串口通信的实例
Jul 02 Python
Django ValuesQuerySet转json方式
Mar 16 Python
Django模板标签{% for %}循环,获取制定条数据实例
May 14 Python
python中JWT用户认证的实现
May 18 Python
Python自动化之UnitTest框架实战记录
Sep 08 Python
python 实现图片修复(可用于去水印)
Nov 19 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
Jan 27 Python
python爬取w3shcool的JQuery课程并且保存到本地
Apr 06 #Python
使用Python对SQLite数据库操作
Apr 06 #Python
使用Python对MySQL数据操作
Apr 06 #Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
Apr 05 #Python
Python使用迭代器捕获Generator返回值的方法
Apr 05 #Python
由浅入深讲解python中的yield与generator
Apr 05 #Python
Python中shutil模块的学习笔记教程
Apr 04 #Python
You might like
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
thinkPHP5.0框架API优化后的友好性分析
2017/03/17 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
javascript 面向对象编程 function也是类
2009/09/17 Javascript
jQuery EasyUI 的EasyLoader功能介绍
2010/09/12 Javascript
JS链式调用的实现方法
2013/03/07 Javascript
js控制frameSet示例
2013/09/10 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
JQuery操作textarea,input,select,checkbox方法
2015/09/02 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
2017/06/29 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
2018/05/02 Javascript
微信小程序调用摄像头隐藏式拍照功能
2018/08/22 Javascript
JavaScript实现省份城市的三级联动
2020/02/11 Javascript
python 示例分享---逻辑推理编程解决八皇后
2014/07/20 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
Champs Sports加拿大:北美最大的以商场为基础的专业运动鞋和服装零售商之一
2018/05/01 全球购物
Java文件和目录(IO)操作
2014/08/26 面试题
教师应聘个人求职信
2013/12/10 职场文书
销售总经理岗位职责
2014/03/15 职场文书
音乐节策划方案
2014/06/09 职场文书
股份合作协议书
2014/09/10 职场文书
中韩经贸翻译专业大学生职业生涯规划范文
2014/09/18 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android
Go微服务项目配置文件的定义和读取示例详解
2022/06/21 Golang
Python使用pandas导入xlsx格式的excel文件内容操作代码
2022/12/24 Python