nodejs调用python脚本

前言

在做项目时,我遇到了一个应用场景,需要在Nodejs搭建的环境中使用Python脚本。万幸的是,万能的Nodejs为这种应用场景提供了一个很合适的接口,API参见该链接

正文

child_process模块有两个方法。分别是execexecSync,分别表示异步和同步,原理在于执行cmd命令,并且将输出重定向。
使用方法如下

// call.js
const exec = require('child_process').exec;
const execSync = require('child_process').execSync;
// 异步执行
exec('python web.py',function(error,stdout,stderr){
    if(error) {
        console.info('stderr : '+stderr);
    }
    console.log('exec: ' + stdout);
})
// 同步执行
const output = execSync('python web.py')
console.log('sync: ' + output.toString())
console.log('over')

web.py如下

# web.py
import sys

print('web')
print('aaa')

在命令行输入 node call,打印如下:

sync:web
aaa

over
exec: web
aaa

可知,对于Python脚本里的打印语句都会重定向到Nodejs脚本中,这样就实现了Nodejs与Python脚本的交互。按照这个思路,我们可以使用该API完成很多奇妙的任务,而不仅仅是与Python脚本交互

  • 11
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值