如何从Node.js调用Python函数

我有一个Express Node.js应用程序,但我也有一个机器学习算法在Python中使用.有没有办法可以从我的Node.js应用程序调用Python函数来利用机器学习库的强大功能?

解决方法:

我所知道的最简单的方法是使用与节点一起打包的“child_process”包.

然后你可以这样做:

const spawn = require("child_process").spawn;
const pythonProcess = spawn('python',["path/to/script.py", arg1, arg2, ...]);

然后你要做的就是确保你在python脚本中导入sys,然后你可以使用sys.argv [1]访问arg1,使用sys.argv [2]访问arg2,依此类推.

要将数据发送回节点,只需在python脚本中执行以下操作:

print(dataToSendBack)
sys.stdout.flush()

然后节点可以使用以下方式侦听数据:

pythonProcess.stdout.on('data', (data) => {
    // Do something with the data returned from python script
});

由于这允许使用spawn将多个参数传递给脚本,因此您可以重构python脚本,以便其中一个参数决定调用哪个函数,另一个参数传递给该函数,等等.

希望这很清楚.如果有需要澄清,请告诉我.

相关文章

根据官网 入门 express
java叫接口control什么的app.get.post等等都是请求方式我们可...
为了前端丢进去的时候可以直接判断中间件就是经过了这个就会...
Express 文件的上传和下载
运行命令下载app.js 增加中间件。
基本模板来的 后面用后就有什么加什么都行。