Maison >développement back-end >Tutoriel Python >Comment utiliser Python pour obtenir le nom de la fonction en cours d'exécution
Cet article présente principalement les informations pertinentes sur le code de l'instance de méthode de python pour obtenir le nom de l'instance en cours d'exécution. fonction, qui est obligatoire Les amis peuvent se référer à l'exemple de code de la méthode
python pour obtenir le nom de la fonction en cours d'exécution
Résumé : Méthode pour obtenir le code source nom, nom de la fonction et numéro de ligne de la fonction en c/c++ C'est très simple, FILE, FUNCTION et LINE python n'ont pas cette syntaxe, mais elle peut également être obtenue par une certaine méthode. Voici un exemple, en utilisant les informations d'exception. pour obtenir [peut entraîner une perte de performances]
Collez directement le code [veuillez vous référer à Python Core Programming 4.4]
#Obtenez le nom de la fonction où la fonction est appelée (appelée)
#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] #获取名称 调用方法
Obtenir le chemin du nom de fichier, le nom de la fonction, le numéro de ligne
-- ------------------------- ------------------------- ------------------------- -
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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!