ユーザー入力を自動化し、サブプロセスを使用して Python スクリプトから JSON 出力を取得する方法

Patricia Arquette
リリース: 2024-10-26 08:16:30
オリジナル
278 人が閲覧しました

How to Automate User Input and Retrieve JSON Output from Python Scripts with subprocess?

サブプロセスを使用したユーザー入力による Python スクリプトの呼び出し

Python では、スクリプトを実行するシナリオが発生することがあります (「 「a.py」として)、ユーザーに入力を求め、JSON 形式の出力を生成します。 Python のサブプロセス モジュールを使用して、別のスクリプト (「b.py」という名前) からこのスクリプトの実行を自動化するには、次の手順に従います。

必要なモジュールをインポートします。

<code class="python">import os
import sys
from subprocess import check_output</code>
ログイン後にコピー

パスを決定します。実行するスクリプト (「a.py」) に追加します:

<code class="python">script_path = os.path.join(get_script_dir(), 'a.py')</code>
ログイン後にコピー

check_output() 関数を使用して「a.py」を実行し、入力を指定します:

<code class="python">output = check_output([sys.executable, script_path],
                      input='\n'.join(['query 1', 'query 2']),
                      universal_newlines=True)</code>
ログイン後にコピー

このコマンドは次のことを行います:

  • スクリプトへの入力として「クエリ 1」と「クエリ 2」を提供します。
  • sys で指定された Python インタープリタを使用してスクリプトを実行します。 executable.
  • スクリプトの出力を「output」変数にキャプチャします。

この方法で入力を提供することで、スクリプトとのユーザー操作を効果的にシミュレートできます。出力は、必要に応じて「b.py」スクリプトで使用できるようになりました。

追加の代替手段

  • 関数のインポートと呼び出し: 「a.py」モジュールをインポートし、その関数を直接呼び出して、入力と結果の取得を行うことができます。
  • マルチプロセッシングを使用する: クエリ処理が CPU を集中的に使用する場合は、マルチプロセッシングの使用を検討してください。パフォーマンスを向上させるために、各クエリを個別のプロセスで実行します。

以上がユーザー入力を自動化し、サブプロセスを使用して Python スクリプトから JSON 出力を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート