Python : stocker le résultat d'une commande
Résolu
Fabio
-
Fabio -
Fabio -
Bonjour,
J'aimerais pouvoir avoir dans un code python, le résultat d'une commande terminal, pour pouvoir ensuite le stocker dans une variable.
J'avais trouvé sur internet des techniques pour le faire avec le module os mais elles ne semblent pas marcher sur python 3.
Merci de vos réponses par avance.
J'aimerais pouvoir avoir dans un code python, le résultat d'une commande terminal, pour pouvoir ensuite le stocker dans une variable.
J'avais trouvé sur internet des techniques pour le faire avec le module os mais elles ne semblent pas marcher sur python 3.
Merci de vos réponses par avance.
4 réponses
-
Je pense qu'il souhaite pouvoir stocker ce qui est affiché lorsqu'on tape une commande dans un terminal, non pas en stdout, mais en l'affectant à une variable.
Donc je pense qu'il souhaite ceci.
import subprocess result = subprocess.check_output('TA_COMMANDE') print('result', result.decode())
Attention toutefois à vérifier le type de la valeur retournée, par exemple avec ls ou encore dir sur linux, c'est un type bytes, d'où le decode. -
Tu veux dire les arguments ?
Tu fais ainsi :import sys for arg in sys.argv: print(arg) -
Bonjour,
Le script de gdu marche très bien quand la commande n'a pas d'option!
Tu aurais pu creuser un peu le sujet sur la fonction subprocess.check_output() afin d'en connaître la syntaxe à respecter, à savoir:import subprocess result = subprocess.check_output(['lsof', '-i']) print('result', result.decode())
Ritchi -