Heim  >  Artikel  >  Backend-Entwicklung  >  Hier sind einige Titeloptionen, die zum Inhalt des Artikels passen und ein Frageformat verwenden: Option 1 (Konzentrieren Sie sich auf das Problem): * Wie kann ich eine Ausgabe von einem Python-Skript erhalten, das mit „subprocess“ aufgerufen wird? Optio

Hier sind einige Titeloptionen, die zum Inhalt des Artikels passen und ein Frageformat verwenden: Option 1 (Konzentrieren Sie sich auf das Problem): * Wie kann ich eine Ausgabe von einem Python-Skript erhalten, das mit „subprocess“ aufgerufen wird? Optio

DDD
DDDOriginal
2024-10-25 21:29:03490Durchsuche

Here are a few title options that fit the article's content and use a question format:

Option 1 (Focus on the problem):

* How Can I Get Output From a Python Script Called Using `subprocess`?

Option 2 (Highlights the solution):

* Retrieving Output fro

Aufrufen eines Python-Skripts mit Eingaben aus einem anderen Skript mithilfe eines Unterprozesses

In Python bietet das Unterprozessmodul eine Möglichkeit, externe Befehle oder Skripte auszuführen . Wenn Sie jedoch ein Python-Skript aus einem anderen Skript aufrufen und ihm Eingaben bereitstellen, kann es schwierig sein, die Ausgabe zu erhalten.

Ausgabe von Unterprozessaufrufen abrufen

Um die Ausgabe abzurufen Von einem Unterprozessaufruf aus können Sie die Funktion check_output verwenden, die die Standardausgabe des externen Skripts erfasst. So können Sie dies erreichen:

<code class="python">import subprocess

# Path to the external script (a.py)
script_path = 'a.py'

# Input to be provided to the external script
input_data = '\n'.join(['query 1', 'query 2'])

# Execute the external script with input
output = subprocess.check_output([sys.executable, script_path],
                                 input=input_data,
                                 universal_newlines=True)</code>

In diesem Beispiel ist input_data eine Zeichenfolge, die die Eingabeabfragen für a.py enthält. Die Funktion check_output führt das externe Skript aus und stellt die Eingabeabfragen als stdin bereit. Die zurückgegebene Ausgabevariable enthält nun die Ausgabe des Skripts als Zeichenfolge.

Alternative Ansätze

Neben der direkten Verwendung des Unterprozessmoduls gibt es alternative Ansätze, Python-Skripte von innen aufzurufen ein Skript:

  • Modul importieren: Sie können das externe Skript in Ihr Hauptskript importieren und dessen Funktionen direkt aufrufen. Dies erfordert einen entsprechenden Schutz auf Modulebene in a.py.
  • Verwendung von Multiprocessing: Wenn die Abfragen rechenintensiv sind, können Sie Multiprocessing verwenden, um sie in separaten Prozessen auszuführen, was möglicherweise die Leistung verbessert.

Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen, die zum Inhalt des Artikels passen und ein Frageformat verwenden: Option 1 (Konzentrieren Sie sich auf das Problem): * Wie kann ich eine Ausgabe von einem Python-Skript erhalten, das mit „subprocess“ aufgerufen wird? Optio. 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