Heim >Backend-Entwicklung >Python-Tutorial >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
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!