Node.js からの Python 関数の呼び出し
Node.js アプリケーションで Python の機械学習ライブラリの機能を組み込むには、 Node.js 環境からの Python 関数。 「child_process」パッケージは、このギャップを埋めるための理想的なツールとして登場します。
解決策: 「child_process」を利用する
「child_process」パッケージを使用すると、 Python サブプロセスを作成し、その中で Python 関数を実行します。その方法は次のとおりです:
「child_process」モジュールをインポートすることから始めます:
const spawn = require("child_process").spawn;
Python サブプロセスを作成し、Python を提供しますスクリプトのパスと任意のパスargument:
const pythonProcess = spawn('python', ["path/to/script.py", arg1, arg2, ...]);
Python 側で、'sys' がインポートされていることを確認し、'sys.argv' を使用して Node.js:
import sys arg1 = sys.argv[1] arg2 = sys.argv[2]
print(dataToSendBack) sys.stdout.flush()
pythonProcess.stdout.on('data', (data) => { // Handle the data received from the Python script });
柔軟性とダイナミックな機能呼び出し
このアプローチの利点は、複数の引数を Python スクリプトに渡すことができることです。この柔軟性により、指定した引数によって呼び出す関数が決まり、他の引数がその関数に渡される Python スクリプトを設計できます。例:
Python スクリプトでは、機械学習用の関数と、指定された引数に基づいて呼び出す関数を調整する main 関数を定義します。def machine_learning_function(data): # Implement the machine learning functionality def main(): function_name = sys.argv[1] data = sys.argv[2] if function_name == "machine_learning_function": machine_learning_function(data) if __name__ == "__main__": main()
注: Node.js と Python 間のデータ転送は標準出力を通じて行われます。および標準入力ストリーム。
以上が「child_process」を使用して Node.js から Python 関数を呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。