Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die Ausgabe eines Unterprozesses als String in Python erfassen?

Wie kann ich die Ausgabe eines Unterprozesses als String in Python erfassen?

Susan Sarandon
Susan SarandonOriginal
2024-12-02 21:27:12988Durchsuche

How Can I Capture Subprocess Output as a String in Python?

Unterprozessausgabe in einem String erfassen

Um die Ausgabe eines Systemaufrufs zu erfassen, der durch den Unterprozess von Python initiiert wurde.Popen und in einem String speichern , Python bietet je nach verwendeter Version mehrere Optionen.

Python 2.7 oder Python 3:

Nutzen Sie die Funktion subprocess.check_output():

from subprocess import check_output
output = check_output(["ntpq", "-p"])

Python 2.4-2.6:

Verwenden Sie die Popen-Befehle Kommunikationsmethode:

import subprocess
process = subprocess.Popen(["ntpq", "-p"], stdout=subprocess.PIPE)
output, _ = process.communicate()

Beachten Sie, dass bei der Angabe der Trennen Sie mit dem Befehl die ausführbare Datei und die Optionen in eine Liste, z. B. ["ntpq", "-p"], da Popen keine Shell aufruft.

Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe eines Unterprozesses als String in Python erfassen?. 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