JavaScript调用Python程序

Posted hhh江月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript调用Python程序相关的知识,希望对你有一定的参考价值。

javascript调用Python程序

文章目录

简介

在有些情况下需要使用不同的语言来完成一个项目,因此就有可能出现不同语言的程序之间的相互调用,本文主要介绍如何使用JavaScript调用Python程序并且实现参数的传递。

JavaScript代码

JavaScript代码属于主程序,在里面用到了child_process这个包,使用这个包可以运行命令行,也就相当于运行了Python程序,具体的代码如下所示:

const exec = require('child_process').exec


const p0 = new Promise((resolve, reject)=>
    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, stderr)=>
        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代码,所得到的结果如下图所示:

以上是关于JavaScript调用Python程序的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript调用Python程序

如何从javascript(nodejs)程序调用python,而不创建子进程

Python与Javascript相互调用超详细讲解(更新至2022.01.30)

JavaScript是如何工作的01:引擎,运行时和调用堆栈的概述!

教你如何在Spark Scala/Java应用中调用Python脚本

教你如何在Spark Scala/Java应用中调用Python脚本