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
Freigeben: 2024-12-06 09:25:11
Original
293 Leute haben es durchsucht

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

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

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!

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