ホームページ >バックエンド開発 >Python チュートリアル >ユーザー入力を自動化し、サブプロセスを使用して Python スクリプトから JSON 出力を取得する方法

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-26 08:16:30297ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。