
JavaScriptからPythonを実行する
Python を JavaScript から実行するということは、Web サーバー上で Python スクリプトを動かすことが可能となることです。
今回紹介するのは、Node.js 製の「python-shell」と呼ばれるモジュールを使った方法です。
python-shell とは、Node.js アプリケーションから Python スクリプトを実行して結果を得る為のモジュールです。 Node.js を使えば、JavaScript コードから Python へのデータ送信や、Python からのデータ受信が容易に行えます。 python-shell を使って Python スクリプトを実行する方法は非常に簡単です。まず、Node.js と python-shell をインストールします。Node.js と python-shell をインストールしたら、次のようなコード上で Python スクリプトを実行できます。
const PythonShell = require('python-shell'); // Pythonスクリプトを実行する
const options = { scriptPath: '/path/to/python/scripts/' };
const pyshell = new PythonShell('my_python_script.py', options); // Pythonスクリプトへの入力を設定
pyshell.send('Hello World!'); // データ受信時の処理
pyshell.on('message', function (message) {
// 受信したデータを処理
console.log(message);
}); // 終了時の処理
pyshell.end(function (err) {
if (err) {
throw err;
}
console.log('finished');
});
上記のようにすると、Node.js アプリケーションから Python スクリプトを実行して結果を受け取ることができます。あとは、my_python_script.py に記述されたスクリプトの中身によって処理内容が変わります。
例えば、以下のような Python スクリプトを作成すると、Node.js 側から送信した文字列を受信して、そのまま返す処理を実行できます。
# -*- coding: utf-8 -*-
import sys # 入力を受け取る
input_string = sys.stdin.readline() # 入力をそのまま出力する print(input_string)
python-shell を使えば、Node.js アプリケーションから Python スクリプトを実行し、その結果を受け取ることが可能となります。また、Python スクリプトへの入力も設定可能です。その結果、Node.js から Python へのデータの送受信が容易に行えます。
今回も Python を JavaScript から実行する方法として、Node.js 製の python-shell モジュールを使う方法を紹介しました。python-shell を使えば、Node.js から Python へのデータ送信や、Python からのデータ受信などが簡単に行えます。Node.js 製のモジュールは、他にいくつも存在しますので、色々な用途に使ってみてください。