Befehlsausgabe stillschweigend mit Python erfassen
Beim Ausführen von Befehlen mit os.system kann es vorkommen, dass Sie die Ausgabe ohne diese Funktion erfassen möchten es auf dem Bildschirm anzuzeigen. So geht's:
In Python führt die Funktion os.system einen Befehl aus und gibt seinen Exit-Status zurück. Es gibt jedoch auch die Ausgabe des Befehls auf der Konsole aus. Um die Ausgabe stillschweigend zu erfassen, verwenden Sie stattdessen das Subprocess-Modul.
Verwendung von os.popen
Mit der Funktion os.popen können Befehle ausgeführt und deren Ausgabe erfasst werden. Es gibt ein Pipe-Objekt zurück, das zum Lesen der Ausgabe verwendet werden kann. Zum Beispiel:
output = os.popen('cat /etc/services').read() print(output)
Unterprozess verwenden
Das Unterprozessmodul bietet eine leistungsfähigere Möglichkeit, Unterprozesse zu verwalten und mit ihnen zu interagieren. So erfassen Sie die Befehlsausgabe stillschweigend mithilfe eines Unterprozesses:
import subprocess proc = subprocess.Popen([ 'cat', '/etc/services' ], stdout=subprocess.PIPE, shell=True) (output, err) = proc.communicate() print('program output:', output)
Mit diesem Ansatz können Sie verschiedene Aspekte der Unterprozessausführung steuern, z. B. Eingabe, Ausgabe und Fehlerbehandlung. Die Kommunikationsmethode wartet auf den Abschluss des Unterprozesses und gibt ein Tupel zurück, das die Standardausgabe- und Standardfehlerströme enthält.
Das obige ist der detaillierte Inhalt vonWie kann ich die Befehlsausgabe in Python stillschweigend erfassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!