python獲取當前運行函數(shù)名稱的方法實例代碼
python獲取當前運行函數(shù)名稱的方法實例代碼
摘要: c/c++中獲取函數(shù)所在源碼名,函數(shù)名和行號的方法很簡單 __FILE__,__FUNCTION__和__LINE__ python沒有這種語法,但也可以通過某種方法得到,這里給出例子,使用異常信息得到【可能會損失性能】
直接貼代碼[可參考python核心編程4.4]
#獲取調用該函數(shù)所在(被調用)的函數(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 #請在使用的時候將其注釋 Upframe = frameObj.f_back #獲取該代碼段的frame信息,即調用該函數(shù)的函數(shù)frame #print Upframe.f_code.co_name, Upframe.f_lineno #請在使用的時候將其注釋 return (Upframe.f_code.co_name, Upframe.f_lineno)[0] #獲取名稱 調用方法
獲取文件名路徑,函數(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
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
Pandas?DataFrame添加一行數(shù)據(jù)的幾種方法
在處理數(shù)據(jù)分析和數(shù)據(jù)科學項目時,經(jīng)常會使用到Python中的pandas庫來進行數(shù)據(jù)操作和分析,其中DataFrame是pandas庫中最重要的數(shù)據(jù)結構之一,這篇文章主要給大家介紹了關于Pandas?DataFrame添加一行數(shù)據(jù)的幾種方法,需要的朋友可以參考下2024-08-08python安裝和pycharm環(huán)境搭建設置方法
這篇文章主要介紹了python安裝和pycharm環(huán)境搭建和設置方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下 ,2020-05-05Python3之字節(jié)串bytes與字節(jié)數(shù)組bytearray的使用詳解
今天小編就為大家分享一篇Python3之字節(jié)串bytes與字節(jié)數(shù)組bytearray的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08使用Python的Flask框架實現(xiàn)視頻的流媒體傳輸
這篇文章主要介紹了使用Python的Flask框架實現(xiàn)視頻的流媒體傳輸,包括從攝像機獲取幀到web瀏覽器的數(shù)字流傳輸,需要的朋友可以參考下2015-03-03基于opencv和pillow實現(xiàn)人臉識別系統(tǒng)(附demo)
人臉識別就是一個程序能識別給定圖像或視頻中的人臉,本文主要介紹了opencv和pillow實現(xiàn)人臉識別系統(tǒng),本文不涉及分類器、訓練識別器等算法原理,感興趣的可以了解一下2021-11-11多版本python的pip 升級后, pip2 pip3 與python版本失配解決方法
在本篇文章里小編給大家整理的是關于多版本python的pip 升級后, pip2 pip3 與python版本失配的解決方法內容,需要的朋友們學習下。2019-09-09