Heim  >  Artikel  >  Backend-Entwicklung  >  Hier sind einige fragenbasierte Artikeltitel, die zum Inhalt passen: * Wie führe ich Python-Skripte mit Benutzereingaben mithilfe eines Unterprozesses aus? * Erfassen der Ausgabe von Python-Skripten: Ein Leitfaden zur Subprozesstechnologie

Hier sind einige fragenbasierte Artikeltitel, die zum Inhalt passen: * Wie führe ich Python-Skripte mit Benutzereingaben mithilfe eines Unterprozesses aus? * Erfassen der Ausgabe von Python-Skripten: Ein Leitfaden zur Subprozesstechnologie

Linda Hamilton
Linda HamiltonOriginal
2024-10-26 07:10:30346Durchsuche

Here are a few question-based article titles that fit the content:

* How to Execute Python Scripts with User Input Using Subprocess?
* Capturing Output from Python Scripts: A Guide to Subprocess Techniques
* Python Script Execution: Subprocess Methods fo

Python-Skripte mit Benutzereingaben mithilfe eines Unterprozesses ausführen

Beim Ausführen eines Python-Skripts (a.py) aus einem anderen Skript (b.py) über einen Unterprozess kann das Erfassen der Skriptausgabe eine Herausforderung sein. Dieser Artikel bietet alternative Methoden zum Abrufen der gewünschten Ausgabe.

Methode 1: Eingabe übergeben und Ausgabe mit Unterprozess erfassen

<code class="python">import os
import sys
from subprocess import check_output

script_path = os.path.join(get_script_dir(), 'a.py')
output = check_output([sys.executable, script_path],
                      input='\n'.join(['query 1', 'query 2']),
                      universal_newlines=True)</code>

Methode 2: Module importieren und Aufrufen von Funktionen

Ein flexiblerer Ansatz besteht darin, das Zielmodul (a) zu importieren und eine bestimmte Funktion darin aufzurufen. Stellen Sie sicher, dass a.py den Schutz if __name__ == "__main__" verwendet, um die Ausführung unerwünschten Codes beim Import zu verhindern.

<code class="python">import a

result = [a.search(query) for query in ['query 1', 'query 2']]</code>

Methode 3: Multiprocessing für parallele Abfrageausführung

Wenn die Abfrageausführung CPU-intensiv ist, können Sie Multiprocessing nutzen, um Abfragen gleichzeitig auszuführen:

<code class="python">from multiprocessing import freeze_support, Pool
import a

if __name__ == "__main__":
   freeze_support()
   pool = Pool() # use all available CPUs
   result = pool.map(a.search, ['query 1', 'query 2'])</code>

Das obige ist der detaillierte Inhalt vonHier sind einige fragenbasierte Artikeltitel, die zum Inhalt passen: * Wie führe ich Python-Skripte mit Benutzereingaben mithilfe eines Unterprozesses aus? * Erfassen der Ausgabe von Python-Skripten: Ein Leitfaden zur Subprozesstechnologie. 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