Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die Ausgabe von Systembefehlen ohne Bildschirmanzeige erfassen und einer Variablen in Python zuweisen?
In Python wird os.system zum Ausführen eines Systembefehls verwendet und gibt einen Wert zurück Gibt den Exit-Status des Befehls an. Die Ausgabe des Befehls wird jedoch normalerweise auf dem Bildschirm angezeigt. Dies kann in bestimmten Situationen unerwünscht sein.
Um die Befehlsausgabe einer Variablen zuzuweisen und zu verhindern, dass sie auf dem Bildschirm angezeigt wird, können Sie die Funktion os.popen() anstelle von os.system verwenden. os.popen() gibt ein Pipe-Objekt zurück, mit dem Sie die Ausgabe des Befehls lesen können.
import os # Use os.popen to capture the output of the command popen_object = os.popen('cat /etc/services') # Read the output from the pipe object output = popen_object.read() # Print the output, which will not be displayed on the screen print(output)
Alternativ können Sie die leistungsfähigere Klasse subprocess.Popen verwenden, um Unterprozesse zu verwalten und mit ihnen zu kommunizieren. So würden Sie mit subprocess.Popen das gleiche Ergebnis erzielen:
import subprocess # Create a subprocess object proc = subprocess.Popen(['cat', '/etc/services'], stdout=subprocess.PIPE) # Communicate with the subprocess and retrieve its output output, _ = proc.communicate() # Print the output, which will not be displayed on the screen print(output)
Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe von Systembefehlen ohne Bildschirmanzeige erfassen und einer Variablen in Python zuweisen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!