我有一个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脚本,以便其中一个参数决定调用哪个函数,另一个参数传递给该函数,等等.
希望这很清楚.如果有需要澄清,请告诉我.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。