次のコードを使用して、Python スクリプトを開始し、php 変数を渡しています。
$tmp = exec("python path/to/pythonfile.py $myVariable $mySecondVariable", $output);
これは非常にうまく機能します。私の問題は、100 個以上の変数を Python スクリプトに渡す必要があることです。この exec 行が非常に長くなり、管理不能になることは望ましくありません。次のコードを使用して、変数の代わりにphp配列を渡すことも検討しました。
$checked = array(
"key1" => "1"
"key2" => "1"
"key3" => "1"
);
$checkedJson = json_encode($checked);
$tmp = exec("python path/to/pythonfile.py $myVariable $checkedJson", $output);
これにより、Python 側で JSON をデコードできませんでした。Pythonで配列変数(デコードされていない)の基本的な印刷を行うことができましたが、個々の文字をすべて新しい配列値として提供します。つまり、[0] = k、[1] = e、[2] = y、[3] = 1 など...どんな助けも大歓迎です。
明確にするために、配列をエンコードおよびデコードするよりも簡単な方法を探しています。複数の変数を許可するように exec 行をフォーマットする方法はありますか。