Executer une commande contenue dans une variable string

Résolu
tpez Messages postés 359 Statut Membre -  
tpez Messages postés 359 Statut Membre -
Salut,
Alors voilà je vais faire simple car expliquer le pourquoi j'ai besoin de faire ça serrait trop long :D.
Dans mon programme python j'ai une variable
command = 'recup()'
. Cette variable est sous forme d'une string (et c'est volontaire).
recup()
est une fonction écrite dans un fichier intitulé include.py que j'ai importé comme ce-ci
from include import recup
. Et je souhaiterais savoir si il y a un moyen pour exécuter la commande contenue dans
command
.

En plus concis: je souhaite exécuter une commande contenue dans une variable de forme string.

Merci d'avance à ceux qui essayeront de me répondre.
A voir également:

1 réponse

denak
 
Oui, avec eval.

>>> def a(): print("A")
... 
>>> cmd = "a()"
>>> eval(cmd)
A
>>> 


Mais, eval n'est à utiliser que sur des valeurs sûres à 100%.
Et en général il est préférable de s'en passer si on peut faire autrement, ce qui semble ton cas, puisque c'est défini en dur dans ton module.
2
tpez Messages postés 359 Statut Membre 39
 
Merci beaucoup ça fonctionne mais je ne peux malheureusement pas m'en passer car la pour simplifier j'ai fait comme si command était défini en dur mais dans mon programme ce n'est pas le cas puisque je récupère la valeur de command à l'intérieur d'une base de donnée.
0