Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die Ausgabe von subprocess.call() abrufen?

Wie kann ich die Ausgabe von subprocess.call() abrufen?

Linda Hamilton
Freigeben: 2024-12-05 03:53:09
Original
490 Leute haben es durchsucht

How Can I Retrieve Output from subprocess.call()?

Abrufen der Ausgabe von Unterprozessen mit Subprocess.call()

Um die Ausgabe von einem Unterprozess abzurufen, der mit subprocess.call() gestartet wurde, müssen Sie kann die Fähigkeiten des Unterprozessmoduls nutzen. So geht's:

Für Python Version 2.7 und höher:

Verwenden Sie subprocess.check_output():

import subprocess

output = subprocess.check_output(["ping", "-c", "1", "8.8.8.8"])
Nach dem Login kopieren

Dieser Ansatz gibt die Standardausgabe als Zeichenfolge zurück und handhabt so den Ausgabeabruf effektiv Aufgabe.

Für Python-Versionen vor 2.7:

Sie können die Ausgabe mithilfe der Shell umleiten:

import subprocess

process = subprocess.Popen(["ping", "-c", "1", "8.8.8.8"], shell=True, stdout=subprocess.PIPE)

# Read the output
output = process.communicate()[0]
Nach dem Login kopieren

Zusätzliche Hinweise :

  • Diese Methode eignet sich für einfache Befehle.
  • Wenn Sie subprocess.Popen() verwenden, stellen Sie sicher, dass der stdout-Parameter auf subprocess.PIPE gesetzt ist, um die Ausgabe abzurufen.
  • Wenn der Befehl Linux-Syntax verwendet, denken Sie daran, ihn entsprechend anzupassen Windows.

Weitere Details und alternative Ansätze finden Sie in der ausführlichen Erklärung in dieser anderen Antwort.

Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe von subprocess.call() abrufen?. 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