Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie Python, um den Namen der aktuell ausgeführten Funktion abzurufen

So verwenden Sie Python, um den Namen der aktuell ausgeführten Funktion abzurufen

怪我咯
怪我咯Original
2017-04-10 11:11:511540Durchsuche

In diesem Artikel werden hauptsächlich die relevanten Informationen zum Python-Methodeninstanzcode zum Abrufen des Namens der aktuell ausgeführten Funktion vorgestellt. was erforderlich ist Freunde können sich auf den Beispielcode der

Python-Methode beziehen, um den Namen der aktuell ausgeführten Funktion zu erhalten

Zusammenfassung: Methode zum Abrufen des Quellcodenamens, Funktionsname und Zeilennummer einer Funktion in c/c++ Es ist sehr einfach, dass FILE, FUNCTION und LINE diese Syntax haben, aber sie können auch durch eine bestimmte Methode abgerufen werden, indem Ausnahmeinformationen verwendet werden [kann zu Leistungseinbußen führen]

Fügen Sie den Code direkt ein [siehe Python Core Programming 4.4]

#Rufen Sie den Funktionsnamen ab, unter dem die Funktion aufgerufen wird (aufgerufen)

#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对象,即本函数的frame信息
    #print frameObj.f_code.co_name,frameObj.f_lineno         #请在使用的时候将其注释
    Upframe = frameObj.f_back                           #获取该代码段的frame信息,即调用该函数的函数frame
    #print Upframe.f_code.co_name, Upframe.f_lineno          #请在使用的时候将其注释
    return (Upframe.f_code.co_name, Upframe.f_lineno)[0]      #获取名称
调用方法

Dateinamenpfad, Funktionsnamen und Zeilennummer abrufen

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

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


Das obige ist der detaillierte Inhalt vonSo verwenden Sie Python, um den Namen der aktuell ausgeführten Funktion abzurufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn