Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die Befehlsausgabe in Python stillschweigend erfassen?

Wie kann ich die Befehlsausgabe in Python stillschweigend erfassen?

Barbara Streisand
Freigeben: 2024-12-05 16:30:11
Original
776 Leute haben es durchsucht

How Can I Silently Capture Command Output in Python?

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage