Je veux affecter la sortie d'une commande que j'exécute os.system
à une variable et l'empêcher d'être sortie à l'écran. Mais, dans le code ci-dessous, la sortie est envoyée à l'écran et la valeur imprimée pour var
0, ce qui signifie, je suppose, si la commande s'est exécutée avec succès ou non. Existe-t-il un moyen d'affecter la sortie de la commande à la variable et de l'empêcher de s'afficher à l'écran?
var = os.system("cat /etc/services")
print var #Prints 0
os.system
(ni os.popen
, selon la réponse que vous avez acceptée): utilisez subprocess.Popen
, c'est bien mieux!
subprocess.Popen
- - ajoutez simplement shell=True
!
shell=True
est (généralement) une très mauvaise idée! Vous devez être très sûr de ce que vous exécutez :)