Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die Ausgabe eines subprocess.Popen-Aufrufs als String in Python erfassen und speichern?

Wie kann ich die Ausgabe eines subprocess.Popen-Aufrufs als String in Python erfassen und speichern?

Patricia Arquette
Freigeben: 2024-12-04 19:07:14
Original
334 Leute haben es durchsucht

How Can I Capture and Store the Output of a subprocess.Popen Call as a String in Python?

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

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

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!

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