記事の内容に適した質問形式のタイトルをいくつか示します。 * Python でユーザー入力を使用してサブプロセスから出力をキャプチャする方法 * ユーザー I を必要とするサブプロセスからの出力の取得

DDD
リリース: 2024-10-27 03:04:03
オリジナル
791 人が閲覧しました

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

Python でのユーザー入力によるサブプロセスの出力へのアクセス

Python では、サブプロセス モジュールを利用して外部スクリプトを実行できます。ただし、ユーザー入力を求めるスクリプトを呼び出す場合、呼び出しスクリプト内でその出力を取得するのは困難な場合があります。この記事では、この問題の解決策について説明します。

解決策 1: 入力で check_output() を使用する

subprocess.check_output() 関数を使用すると、スクリプトを実行してキャプチャできます。その出力。入力をスクリプトに渡すには、入力パラメーターを使用します。

<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>
ログイン後にコピー

解決策 2: モジュールのインポートと関数呼び出し

別のアプローチは、スクリプト モジュールをインポートすることです。特定の関数を呼び出します:

<code class="python">import a

results = [a.search(query) for query in ['query 1', 'query 2']]</code>
ログイン後にコピー

インポートされたスクリプトが if __name__ == "__main__": ガードを使用して、インポート時にコードが実行されないようにします。

解決策3: マルチプロセッシング

クエリ処理が CPU を集中的に使用する場合、マルチプロセッシングを使用して実行を並列化することでパフォーマンスを向上させることができます:

<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>
ログイン後にコピー

以上が記事の内容に適した質問形式のタイトルをいくつか示します。 * Python でユーザー入力を使用してサブプロセスから出力をキャプチャする方法 * ユーザー I を必要とするサブプロセスからの出力の取得の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!