Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die Ausgabe eines subprocess.Popen-Aufrufs als String in Python erfassen und speichern?
Ausgabe des Subprocess.Popen-Aufrufs in einem String speichern
In der Python-Programmierung können Sie mit dem Subprocess-Modul Systemaufrufe ausführen und erfassen ihre Ausgabe. Dieser Artikel bietet Lösungen zum Speichern der Ausgabe eines subprocess.Popen-Aufrufs in einer String-Variablen.
Lösung für Python 2.7 oder Python 3
Python stellt den subprocess.check_output bereit ()-Funktion, die speziell zum Erfassen der Ausgabe eines Befehls in einer Zeichenfolge entwickelt wurde. Verwenden Sie es einfach wie folgt:
from subprocess import check_output out = check_output(["ntpq", "-p"])
Lösung für Python 2.4-2.6
Für die Python-Versionen 2.4 bis 2.6 können Sie die Kommunikationsmethode von Popen verwenden:
import subprocess p = subprocess.Popen(["ntpq", "-p"], stdout=subprocess.PIPE) out, err = p.communicate()
Die Out-Variable im obigen Code enthält das Gewünschte Ausgabe.
Hinweis zur Befehlseingabe
Bei der Verwendung von Popen ist es wichtig, den Befehl als Liste von Zeichenfolgen zu übergeben, wie in den bereitgestellten Beispielen gezeigt. Dies liegt daran, dass Popen die Shell nicht aufruft.
Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe eines subprocess.Popen-Aufrufs als String in Python erfassen und speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!