Heim >Backend-Entwicklung >Python-Tutorial >Wie erfasst man die Befehlsausgabe von „os.system' in Python, ohne sie auf dem Bildschirm anzuzeigen?

Wie erfasst man die Befehlsausgabe von „os.system' in Python, ohne sie auf dem Bildschirm anzuzeigen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-29 17:21:10340Durchsuche

How to Capture Command Output from `os.system` in Python Without Displaying it on the Screen?

So erfassen Sie die Befehlsausgabe von os.system ohne Bildschirmanzeige

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!

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