作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一个 Express Node.js 应用程序,但我也有一个机器学习算法可以在 Python 中使用。有没有一种方法可以从我的 Node.js 应用程序中调用 Python 函数来利用机器学习库的强大功能?
最佳答案
我知道的最简单的方法是使用与 node 一起打包的“child_process”包。
然后你可以这样做:
const spawn = require("child_process").spawn;
const pythonProcess = spawn('python',["path/to/script.py", arg1, arg2, ...]);
那么你所要做的就是确保你在你的python脚本中import sys
,然后你就可以使用sys.argv[1]访问
、arg1
]arg2
使用 sys.argv[2]
等等。
要将数据发送回 Node ,只需在 python 脚本中执行以下操作:
print(dataToSendBack)
sys.stdout.flush()
然后 Node 可以使用以下方式监听数据:
pythonProcess.stdout.on('data', (data) => {
// Do something with the data returned from python script
});
由于这允许使用 spawn 将多个参数传递给脚本,因此您可以重构 python 脚本,以便其中一个参数决定调用哪个函数,而另一个参数传递给该函数,等等。
希望这很清楚。如果有什么需要澄清的,请告诉我。
关于python - 如何从 Node.js 调用 Python 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23450534/
我是一名优秀的程序员,十分优秀!