最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年04月06日 10:27:06   投稿:lqh  
這篇文章主要介紹了python獲取當(dāng)前運行函數(shù)名稱的方法實例代碼的相關(guān)資料,需要的朋友可以參考下

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

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

相關(guān)文章

  • 簡單介紹Python中的filter和lambda函數(shù)的使用

    簡單介紹Python中的filter和lambda函數(shù)的使用

    這篇文章主要簡單介紹了Python中的filter和lambda函數(shù)的使用,是Python學(xué)習(xí)中的基礎(chǔ),同時lambda匿名函數(shù)的使用也是經(jīng)常被用來對比各種編程語的重要特性,言需要的朋友可以參考下
    2015-04-04
  • Python接收Gmail新郵件并發(fā)送到gtalk的方法

    Python接收Gmail新郵件并發(fā)送到gtalk的方法

    這篇文章主要介紹了Python接收Gmail新郵件并發(fā)送到gtalk的方法,實例分析了Python操作郵件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • Pandas之MultiIndex對象的示例詳解

    Pandas之MultiIndex對象的示例詳解

    這篇文章主要介紹了Pandas之MultiIndex對象的示例詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python中使用filter過濾列表的一個小技巧分享

    Python中使用filter過濾列表的一個小技巧分享

    這篇文章主要介紹了Python中使用filter過濾列表的一個小技巧分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 使用Python進行數(shù)據(jù)可視化

    使用Python進行數(shù)據(jù)可視化

    本文主要介紹了使用Python進行數(shù)據(jù)可視化,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python打包exe文件一步步圖解明了簡單

    Python打包exe文件一步步圖解明了簡單

    之前看很多人都在問,Python怎么打包exe可執(zhí)行文件,雀氏有點多,那么我來了,給大家整一個Python打包exe可執(zhí)行文件的究極教程
    2021-11-11
  • Python?Fire實現(xiàn)自動生成命令行接口

    Python?Fire實現(xiàn)自動生成命令行接口

    命令行程序是平時寫一些小工具時最常用的方式,隨著命令行程序功能的豐富,也就是參數(shù)多了以后,解析和管理參數(shù)之間的關(guān)系會變得越來越繁重,而本次介紹的?Fire?庫正好可以解決這個問題,下面我們就來看看具體實現(xiàn)方法吧
    2023-09-09
  • pandas將Series轉(zhuǎn)成DataFrame的實現(xiàn)

    pandas將Series轉(zhuǎn)成DataFrame的實現(xiàn)

    本文主要介紹了pandas將Series轉(zhuǎn)成DataFrame的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 前女友發(fā)來加密的

    前女友發(fā)來加密的"520快樂.pdf",我用python破解開之后,卻發(fā)現(xiàn)

    520收到前女友發(fā)來的加密PDF文件,說打開之后有驚喜,難道是要復(fù)合?我用python破解開之后,卻發(fā)現(xiàn)...python干貨+劇情滿滿收藏收藏
    2021-08-08
  • GraphQL在Django中的使用教程

    GraphQL在Django中的使用教程

    這篇文章主要介紹了GraphQL在Django中的使用教程,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12

最新評論

新源县| 赤水市| 龙门县| 九江县| 广汉市| 阿拉善盟| 汉中市| 通河县| 烟台市| 台山市| 赣州市| 中牟县| 永州市| 安庆市| 闻喜县| 日喀则市| 青神县| 保德县| 伊宁县| 滨州市| 花垣县| 台安县| 尼木县| 五河县| 诏安县| 中宁县| 滕州市| 固安县| 廉江市| 宁夏| 哈尔滨市| 东乡族自治县| 巨野县| 石渠县| 木兰县| 峨眉山市| 靖宇县| 甘孜县| 台北县| 德安县| 贵港市|