1.作ったきっかけ
ある時、node.jsでpythonを実行するプログラムを作ろうと思った。そして調べてみてpython-shellというものがあったがうまく動作しなかったため自分で作った。
2.プログラム
const {exec} = require("child_process"); //child processモジュールをインポート
const fs = require("fs"); //fsモジュールをインポート
exports.runpython = function(code,_function_ = function(output){ //runpythonという関数をモジュール化。また実行終了時に呼び出される既定の関数を定義
return output //出力を戻り値とする
}){
fs.writeFileSync("./code.py",code) //code.pyというファイルにコードを書く
exec("py code.py",(err,stdout,stderr) => { //py code.pyを実行(エラーが出る場合はpy code.py を python code.pyと書き直す)
_function_(stdout + stderr) //実行終了時に呼び出される関数に出力を引数を入れる
})
}
3.使い方
使用例
var python = require("プログラムをインストールした場所を入力してください") //プログラムをインポート
python.runpython("print('hello')\nprint('world')");
//print('hello')
//print('world')を実行
//出力結果
//hello
//world
pythonがインストールされていることを前提にプログラムを考えています。インストールはこちらからインストールしてください。
4.難しかったこと
・実行したときに文字化けしてしまった。
・pythonの実行コマンドがバージョンに違っていた。
コメント