Wenn Sie os.system zum Ausführen von Befehlen verwenden, wird die Ausgabe normalerweise auf dem Bildschirm angezeigt. Möglicherweise möchten Sie jedoch die Ausgabe des Befehls erfassen und zur weiteren Verarbeitung in einer Variablen speichern.
Um dieses Problem zu beheben, können Sie stattdessen os.popen verwenden:
output = os.popen('cat /etc/services').read()
Wie in angegeben die Python 3.6-Dokumentation:
"Dies wird mit subprocess.Popen implementiert; in der Dokumentation dieser Klasse finden Sie leistungsfähigere Möglichkeiten zur Verwaltung und Kommunikation mit Unterprozesse.“
Für mehr Kontrolle über den Unterprozess sollten Sie den Unterprozess direkt verwenden:
import subprocess proc = subprocess.Popen(["cat", "/etc/services"], stdout=subprocess.PIPE, shell=True) (out, err) = proc.communicate() print("program output:", out)
Das obige ist der detaillierte Inhalt vonWie erfasst man die Befehlsausgabe von „os.system' in Python, ohne sie auf dem Bildschirm anzuzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!