Ich möchte die Ausgabe eines Befehls, den ich verwende os.system
, einer Variablen zuweisen und verhindern, dass sie auf dem Bildschirm ausgegeben wird. Im folgenden Code wird die Ausgabe jedoch an den Bildschirm gesendet und der Wert, für den gedruckt var
wird, ist 0, was vermutlich bedeutet, ob der Befehl erfolgreich ausgeführt wurde oder nicht. Gibt es eine Möglichkeit, die Befehlsausgabe der Variablen zuzuweisen und zu verhindern, dass sie auf dem Bildschirm angezeigt wird?
var = os.system("cat /etc/services")
print var #Prints 0
os.system
(noch os.popen
gemäß der Antwort, die Sie akzeptiert haben): Verwenden Sie subprocess.Popen
, es ist viel besser!
subprocess.Popen
- einfach hinzufügen shell=True
!
shell=True
ist (generell) eine sehr schlechte Idee! Sie müssen sehr sicher sein, was Sie ausführen :)