ホームページ  >  記事  >  バックエンド開発  >  PHP からシームレスにデータを交換し、Python スクリプトを実行するにはどうすればよいですか?

PHP からシームレスにデータを交換し、Python スクリプトを実行するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-21 20:45:03574ブラウズ

How to Exchange Data and Execute Python Scripts Seamlessly from PHP?

PHP を使用した Python スクリプトの実行とデータ交換

PHP 内で Python スクリプトを実行し、それらの間でデータを交換することが可能です。そのための 1 つの方法は、データ送信に共通言語形式と stdin/stdout を使用することです。

たとえば、Web サイト データ スクレイピング用の PHP クラスがあるシナリオを考えてみましょう。機能を強化するために、さまざまな Web サイト向けに特別に設計された Python スクリプトを統合しようとしています。

2 つの言語間のデータ転送を容易にするために、次のアプローチを利用できます:

PHP:

<code class="php">// Data to send to Python
$data = ['as', 'df', 'gh'];

// Execute Python script with JSON data as argument
$result = shell_exec('python /path/to/myScript.py ' . escapeshellarg(json_encode($data)));

// Decode the result
$resultData = json_decode($result, true);

// This will contain: array('status' => 'Yes!')
var_dump($resultData);</code>

Python:

<code class="python">import sys, json

# Load data sent from PHP
try:
    data = json.loads(sys.argv[1])
except:
    print("ERROR")
    sys.exit(1)

# Generate data to send to PHP
result = {'status': 'Yes!'}

# Send to stdout (to PHP)
print(json.dumps(result))</code>

この例では、PHP は JSON データをシェル引数として Python スクリプトに送信します。スクリプトはデータを読み取り、処理し、stdout 経由で結果を JSON として送り返します。

このメソッドにより、PHP と Python の間で安全かつ信頼性の高いデータ転送が可能になります。 JSON などの構造化フォーマットでデータを交換することで、スムーズな通信が確保され、データ転送中の潜在的な問題が排除されます。

以上がPHP からシームレスにデータを交換し、Python スクリプトを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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