Menu

Executer une commande contenue dans une variable string [Résolu]

tpez 239 Messages postés lundi 4 juillet 2016Date d'inscription 21 mai 2018 Dernière intervention - 7 janv. 2018 à 11:15 - Dernière réponse : tpez 239 Messages postés lundi 4 juillet 2016Date d'inscription 21 mai 2018 Dernière intervention
- 7 janv. 2018 à 19:41
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.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
2
Merci
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.

Merci denak 2

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 23869 internautes ce mois-ci

tpez 239 Messages postés lundi 4 juillet 2016Date d'inscription 21 mai 2018 Dernière intervention - 7 janv. 2018 à 19:41
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.
Commenter la réponse de denak