Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die Ausgabe von os.system in einer Python-Variablen erfassen, ohne sie auf dem Bildschirm anzuzeigen?

Wie kann ich die Ausgabe von os.system in einer Python-Variablen erfassen, ohne sie auf dem Bildschirm anzuzeigen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-06 09:25:11265Durchsuche

How Can I Capture os.system Output in a Python Variable Without Displaying it on the Screen?

OS.system-Ausgabe einer Variablen ohne Bildschirmanzeige zuweisen

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.

Lösung 1: Verwendung von os.popen

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.

Lösung 2: Verwendung von subprocess.Popen

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!

Stellungnahme:
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