国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 综艺| 新巴尔虎右旗| 辽宁省| 睢宁县| 宁都县| 金塔县| 丁青县| 文水县| 郓城县| 六枝特区| 长宁县| 开阳县| 兴山县| 永嘉县| 瑞昌市| 营口市| 镇巴县| 金沙县| 鹤岗市| 定西市| 柳林县| 盖州市| 屏边| 大城县| 曲阜市| 贵阳市| 哈尔滨市| 正蓝旗| 武隆县| 黄浦区| 托里县| 三门峡市| 水富县| 宜章县| 舞阳县| 新龙县| 濮阳市| 景谷| 怀仁县| 资溪县| 义马市|