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
Freigeben: 2024-10-26 07:10:30
Original
353 Leute haben es durchsucht

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

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

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

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!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!