国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python獲取當(dāng)前運行函數(shù)名稱的方法實例代碼

2020-02-23 04:33:10
字體:
供稿:網(wǎng)友

python獲取當(dāng)前運行函數(shù)名稱的方法實例代碼

摘要: c/c++中獲取函數(shù)所在源碼名,函數(shù)名和行號的方法很簡單 __FILE__,__FUNCTION__和__LINE__ python沒有這種語法,但也可以通過某種方法得到,這里給出例子,使用異常信息得到【可能會損失性能】

直接貼代碼[可參考python核心編程4.4]

#獲取調(diào)用該函數(shù)所在(被調(diào)用)的函數(shù)名

#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對象,即本函數(shù)的frame信息    #print frameObj.f_code.co_name,frameObj.f_lineno         #請在使用的時候?qū)⑵渥⑨?   Upframe = frameObj.f_back                           #獲取該代碼段的frame信息,即調(diào)用該函數(shù)的函數(shù)frame    #print Upframe.f_code.co_name, Upframe.f_lineno          #請在使用的時候?qū)⑵渥⑨?   return (Upframe.f_code.co_name, Upframe.f_lineno)[0]      #獲取名稱調(diào)用方法

獲取文件名路徑,函數(shù)名,行號

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

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

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 汤阴县| 临沧市| 叶城县| 辽中县| 莱西市| 桂阳县| 焦作市| 罗平县| 莲花县| 东兰县| 台东县| 高雄市| 方正县| 安庆市| 阳谷县| 博客| 岑溪市| 炎陵县| 应城市| 柳河县| 安化县| 固阳县| 绥棱县| 东莞市| 苏尼特右旗| 始兴县| 仙居县| 新宁县| 沙田区| 台东县| 维西| 西安市| 赤水市| 桑植县| 泉州市| 晋城| 武城县| 革吉县| 浑源县| 古丈县| 雅江县|