如何从 Node.js 调用 Python 函数

新手上路,请多包涵

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

原文由 Genjuro 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 520
1 个回答

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

然后你可以这样做:

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

Then all you have to do is make sure that you import sys in your python script, and then you can access arg1 using sys.argv[1] , arg2 使用 sys.argv[2] ,依此类推。

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

 print(dataToSendBack)
sys.stdout.flush()

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

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

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

希望这是清楚的。让我知道是否需要澄清。

原文由 theJoestJoeToEverJoe 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏