Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8913

Python-shellの使い方

$
0
0

1.目的

Node.js上で動作するJavascripコードからPythonコードを呼び出す。またPythonコードの出力をJavascriptコードが受け取り、受け取ったデータをJavascript上で処理したい。

1.JPG

2.手段

Python-shellを使います。Python-shellのソースはこちら

3.環境設定、インストール

Python-shellを使うための事前準備やインストール方法を説明します。
node.jsとpythonは既にインストール済とします。

環境
・ubuntu 18.04 on Raspberry pi4 (Docker)
・node.js v12.14.0
・npm 6.13.4

3-1 インストール方法

npmを使用してpython-shellをインストールする。

root@24f85fb6fd69:/home# npm install python-shell
npm WARN home@1.0.0 No description
npm WARN home@1.0.0 No repository field.

+ python-shell@1.0.8
updated 1 package and audited 103 packages in 2.37s
found 0 vulnerabilities

3-2 使用例

ディレクトリTESTを作り、下記のコードが記載されたtest.jsとsample.pyを配置する。

2.JPG

/home/pi/test/test.js
var{PythonShell}=require('python-shell');//PythonShellのインスタンスpyshellを作成する。jsから呼ぶ出すpythonファイル名は'sample.py'varpyshell=newPythonShell('sample.py');//jsからpythonコードに'aaa'を入力データとして提供する pyshell.send(5);//pythonコード実施後にpythonからjsにデータが引き渡される。//pythonに引き渡されるデータは「data」に格納される。pyshell.on('message',function(data){console.log(data);});
/home/pi/test/sample.py
importsysdata=sys.stdin.readline()#標準入力からデータを取得する
num=int(data)defsum(a):returna+3print(sum(num))

3-3 実行

/home/pi/test/
root@24f85fb6fd69:/home/test# node test.js  //test.jsを実行する
8//pythonで処理をされた結果がjavascriptに引き渡され実行される。

3.JPG


Viewing all articles
Browse latest Browse all 8913

Trending Articles