Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die Ausgabe von os.system in einer Python-Variablen erfassen, ohne sie auf dem Bildschirm anzuzeigen?
In Python führt die os.system-Funktion Systembefehle aus und gibt einen Exit-Code zurück. Das Ausdrucken der Ausgabe auf dem Bildschirm kann jedoch unerwünscht sein. In diesem Artikel werden Lösungen zum Erfassen der Ausgabe in einer Variablen bei gleichzeitiger Unterdrückung der Bildschirmanzeige untersucht.
Laut einer früheren Anfrage bietet os.popen eine praktikable Option :
os.popen('cat /etc/services').read()
Wie in der Python 3.6-Dokumentation angegeben, verwendet os.popen subprocess.Popen und stellt bereit Robustere Funktionen für die Verwaltung und Kommunikation mit Unterprozessen.
Für die direkte Verwendung von Unterprozessen demonstriert der folgende Code die Erfassungsausgabetechnik:
import subprocess proc = subprocess.Popen(["cat", "/etc/services"], stdout=subprocess.PIPE, shell=True) (out, err) = proc.communicate() print("program output:", out)
Durch das Setzen von stdout=subprocess.PIPE wird die Ausgabe erfasst, die dann nach Bedarf abgerufen und gedruckt werden kann.
Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe von os.system in einer Python-Variablen erfassen, ohne sie auf dem Bildschirm anzuzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!