nom de fonction...

Le
fred
Bonsoir,

J'aimerais afficher le nom de la fonction exécutée.

Soit

from sys import _getframe

class Foo(HasTraits):

def foo(self):
print 'my name is', _getframe().f_code.co_name


Ok.

« Ça marche ».


Sauf que je n'ai pas franchement envie de me taper des _getframe
à tout bout de champ dans mon code.
Je préfèrerais définir une fonction qui me renvoit le nom de la fonction
appelante.

Sauf que si je mets _getframe dans une fonction, évidemment, le nom renvoyé est
celui de cette fonction, et non pas celui de la fonction qui a appelé cette
fonction :

def bar():
return (_getframe().f_code.co_name)

class Foo(HasTraits):

def foo(self):
print 'my name is', bar()


Comment est-ce donc que je pourrais bien faire pour obtenir le résultat
voulu ?

Merci d'avance.

Cordialement.

--
Fred
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
fred
Le #18516331
fred
Hum...

def bar():
return (_getframe(1).f_code.co_name)

Merci pour ce post d'un intérêt plus que limité, fred,
quand tu trouves la réponse 2 mn après avoir posté.

--
Fred
moky
Le #18516501
> Merci pour ce post d'un intérêt plus que limité, fred,
quand tu trouves la réponse 2 mn après avoir posté.



Non, c'est cool. Je me posais justement la question de temps en temps.
Jusqu'à présent je suis parvenu à contourner le problème, mais le jour
où je dois le faire, je sais chercher.

Ce n'est pas parce que tu fais un monologue que personne n'écoute ;)

Bonne nuit
Laurent
fred
Le #18523531
moky
Ce n'est pas parce que tu fais un monologue que personne n'écoute ;)


Je vois ça ! :-)

--
Fred
Publicité
Poster une réponse
Anonyme