Sommaire

Lancer des commandes shell avec le module subprocess Administration:module subprocess

Depuis un script, il est souvent nécessaire d’exécuter des commandes externes, ou commandes UNIX, exécutables via un shell Bash. Le module subprocess permet d’exécuter une commande et de récupérer le code de retour de celle-ci. Le module subprocess permet de récupérer le résultat généré sous forme de flux texte via l’exécution d’une commande afin de pouvoir travailler avec celui-ci. Ce module va nous permettre de lancer des commandes shell pour récupérer, encore une fois, des informations sur le Raspberry Pi. Pour pouvoir lancer une commande, il faut utiliser la fonction call() du module comme ceci :

>>> import subprocess 
>>> subprocess.call([’ls’, ’/’], shell=False)  
bin  boot  dev  etc  home  lib  lib32  lib64  lost+found  media 
 mnt  opt  proc  root  run  sbin  sys  tmp  usr  var 
0

Notez l’appel à la fonction avec comme argument shell=False. Cela signifie que Python n’invoque pas de shell pour exécuter la commande passée en paramètre mais appelle directement la commande. Notez aussi le 0 après le résultat de la commande. Ce chiffre correspond au code retour de la commande exécutée. Cependant, l’utilisation ...