executer une fonction dont le nom est dans une variable

executer une fonction dont le nom est dans une variable - Python - Programmation

Marsh Posté le 16-11-2007 à 11:41:22    

Bonjour,
Je voudrais executer une fonction dont le nom est dans une variable.
Quelque chose comme :  
 
if mafonction=="truc" :
  truc()
if mafonction=="machin" :
  machin()
 
Mais pour n'importe quel nom de fonction.
Merci beaucoup,
 
Axel

Reply

Marsh Posté le 16-11-2007 à 11:41:22   

Reply

Marsh Posté le 16-11-2007 à 11:56:05    

pourquoi stocker le nom de la fonction et pas directement la fonction?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 16-11-2007 à 12:16:06    

en fait, je veux faire une sorte de robot qui va lire un fichier qui contiendra la liste des fonctions à executer.
 
Je recherche à faire une sorte d'eval, j'ai vu qu'il y a des fonctions qui s'appelle compile, eval, exec... mais je comprends pas trop la différence entre chacune de ces fonctions et comment les utiliser.
 
Axel

Reply

Marsh Posté le 16-11-2007 à 12:20:00    

Je suggère que tu stockes tes fonctions "exécutables" (exportées pour le robot) dans un dictionnaire (type dict), ensuite tu auras juste à faire un lookup dans le dit dict, et tu seras sûr que seules les fonctions exportées sont accessibles.
 
En bonus, tu peux te créer un décorateur qui gère ça histoire que ça soit plus joli :D


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 16-11-2007 à 12:22:37    

oki, je vais essayer ça, merci beaucoup.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed