Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Berikut ialah beberapa tajuk gaya soalan yang sesuai dengan kandungan artikel anda: * Bagaimana untuk Menangkap Output daripada Subproses dengan Input Pengguna dalam Python? * Mendapatkan Output daripada Subproses yang Memerlukan Pengguna I

Berikut ialah beberapa tajuk gaya soalan yang sesuai dengan kandungan artikel anda: * Bagaimana untuk Menangkap Output daripada Subproses dengan Input Pengguna dalam Python? * Mendapatkan Output daripada Subproses yang Memerlukan Pengguna I

DDD
DDDasal
2024-10-27 03:04:03774semak imbas

Here are a few question-style titles that fit the content of your article:

* How to Capture Output from a Subprocess with User Input in Python? 
* Getting Output from Subprocesses That Require User Input in Python: A Guide
* Interacting with Subprocesses

Mengakses Output Subproses dengan Input Pengguna dalam Python

Dalam Python, anda boleh menggunakan modul subproses untuk melaksanakan skrip luaran. Walau bagaimanapun, apabila memanggil skrip yang menggesa input pengguna, mendapatkan outputnya dalam skrip panggilan boleh menjadi mencabar. Artikel ini meneroka penyelesaian kepada masalah ini.

Penyelesaian 1: Menggunakan check_output() dengan Input

Fungsi subprocess.check_output() membolehkan anda menjalankan skrip dan menangkap keluarannya. Untuk menghantar input kepada skrip, gunakan parameter input:

<code class="python">import os
import subprocess

# Get script directory
script_path = os.path.join(os.getcwd(), 'a.py')

# Execute the script and capture output
output = subprocess.check_output([sys.executable, script_path],
                                input='\n'.join(['query 1', 'query 2']),
                                universal_newlines=True)</code>

Penyelesaian 2: Import Modul dan Panggilan Fungsi

Pendekatan alternatif ialah mengimport modul skrip dan panggil fungsi tertentu:

<code class="python">import a

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

Pastikan skrip yang diimport menggunakan if __name__ == "__main__": guard untuk menghalang kodnya daripada dilaksanakan semasa import.

Penyelesaian 3: Multiprocessing

Jika pemprosesan pertanyaan memerlukan CPU intensif, anda boleh meningkatkan prestasi dengan menyelaraskan pelaksanaan menggunakan multiprocessing:

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

freeze_support()
pool = Pool() # Use all available CPUs
results = pool.map(a.search, ['query 1', 'query 2'])</code>

Atas ialah kandungan terperinci Berikut ialah beberapa tajuk gaya soalan yang sesuai dengan kandungan artikel anda: * Bagaimana untuk Menangkap Output daripada Subproses dengan Input Pengguna dalam Python? * Mendapatkan Output daripada Subproses yang Memerlukan Pengguna I. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn