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

首頁(yè) > 編程 > Python > 正文

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

2019-11-25 16:15:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

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

直接貼代碼[可參考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對(duì)象    traceObj = exc_info[2]                               #traceback對(duì)象    frameObj = traceObj.tb_frame                         #獲取frame對(duì)象,即本函數(shù)的frame信息    #print frameObj.f_code.co_name,frameObj.f_lineno         #請(qǐng)?jiān)谑褂玫臅r(shí)候?qū)⑵渥⑨?   Upframe = frameObj.f_back                           #獲取該代碼段的frame信息,即調(diào)用該函數(shù)的函數(shù)frame    #print Upframe.f_code.co_name, Upframe.f_lineno          #請(qǐng)?jiān)谑褂玫臅r(shí)候?qū)⑵渥⑨?   return (Upframe.f_code.co_name, Upframe.f_lineno)[0]      #獲取名稱調(diào)用方法

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

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

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)
#測(cè)試代碼def test1():  print getCurRunPosInfo()def test2():  print get_func_name()  輸出:>>('demo.py', 'test1', 44)>>test2

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 遵义县| 清流县| 张家川| 横山县| 加查县| 马公市| 凌海市| 崇仁县| 比如县| 福建省| 嵊泗县| 连城县| 射阳县| 霞浦县| 定日县| 克山县| 满洲里市| 冕宁县| 探索| 江永县| 新和县| 扶绥县| 林甸县| 金乡县| 芦山县| 宁强县| 邢台市| 大庆市| 尚义县| 康乐县| 嘉峪关市| 克山县| 黄大仙区| 阜宁县| 石泉县| 都昌县| 德钦县| 涞水县| 淳化县| 柳江县| 黄龙县|