简介
在有些情况下需要使用不同的语言来完成一个项目,因此就有可能出现不同语言的程序之间的相互调用,本文主要介绍如何使用JavaScript调用Python程序并且实现参数的传递。
JavaScript代码
JavaScript代码属于主程序,在里面用到了child_process这个包,使用这个包可以运行命令行,也就相当于运行了Python程序,具体的代码如下所示:
const exec = require('child_process').exec
const p0 = new Promise((resolve,)=>{
let v0 = "i am js"
resolve(v0)
})
p0.then((value)=>{
console.log(value)
}).then(()=>{
let v1 = 'success'
let v2 = 'test'
let v3 = 10
let v4 = 47
let cmdStr = 'python3 mytest0.py' + ' ' + v2 + ' ' + v3 + ' ' + v4
exec(cmdStr, (err, stdout,)=>{
if(err){
console.log(stderr)
}else{
console.log(stdout)
}
})
return v1
}).then((v1)=>{
setTimeout(()=>{
console.log(v1)
}, 5000)
}).catch((err)=>{
console.log(err)
}).finally(()=>{
})
Python代码
Python程序是被调用的程序,这里为了简单期间,只是写了一个简单的程序作为示例:
import sys
v0 = sys.argv[1]
v1 = eval(sys.argv[2])
v2 = eval(sys.argv[3])
def main():
print('i am python')
print(v0)
print(v1 + v2)
if __name__ == '__main__':
main()
运行结果展示
运行上述JavaScript代码,所得到的结果如下图所示: