深圳建设资源交易服务中心网站网站开发公司组织架构
深圳建设资源交易服务中心网站,网站开发公司组织架构,填空题ww秒懂2023,手机网站你了解的NodeJS 作为后端#xff0c;仅在需要时调用 Python 在某些特殊的场景下#xff0c;比如复杂耗时的数据处理和运算时#xff0c;我们可以用 Python 脚本编写#xff0c;然后使用 Node 的子进程调用 Python 脚本即可#xff0c;这样可以提升效率。如下代码#xff0c;我们…NodeJS 作为后端仅在需要时调用 Python 在某些特殊的场景下比如复杂耗时的数据处理和运算时我们可以用 Python 脚本编写然后使用 Node 的子进程调用 Python 脚本即可这样可以提升效率。如下代码我们可以使用 Node.js 的 API child_process.spawn(command[, args][, options]) 进行调用 Python 脚本
const spawn require(child_process).spawn
app.get(process_data, (req, res) {spawn(python3, [script.py])
}) Python 脚本
# script.py doSometing() 如果我们的 Node 脚本向 Python 脚本传递参数那该怎么传呢如下段代码所示
const spawn require(child_process).spawn
app.get(process_data, (req, res) {const msg Hellospawn(python3, [script.py, msg])
}) 这时我们需要改下 Python 的脚本接收 NodeJS 传过的参数。如下段代码所示
import sys, jsondef main():msg sys.argv[1]doSometing(msg)if __name__ __main__:main() 如果传输 JSON 这样复杂的数据我们需要改写 Node 的写法以数据流的形式传递给 Python 示例代码如下
const spawn require(child_process).spawn,
const py spawn(python3, [script.py])
const data {msg: Hello
}py.stdin.write(JSON.stringify(data))
//we have to send data as a string, so we are using JSON.stringify
py.stdin.end() 接下来我们来改下 Python 脚本接收 Node 前端传送的数据流进行下一步的逻辑处理
import sys, jsondef main():lines sys.stdin.readlines()data json.loads(lines)doSometing(data[msg])if __name__ __main__:main() Node 除了可以往 Python 传递数据同时可以接收 Python 传递的数据接下来我们来改写 Node 相关的脚本示例代码如下
const spawn require(child_process).spawn
const py spawn(python3, [cscript.py])py.stdout.on(data, function(res){let data JSON.parse(res.toString())console.log(data)
})
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/88026.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!