NodeJS 子进程提供了与系统交互的重要接口,其主要API有:
标准输入、标准输出及标准错误输出的接口
child.stdin 获取标准输入
child.stdout 获取标准输出
child.stderr 获取标准错误输出
获取子进程的PID:child.pid
提供生成子进程的方法:child_process.spawn(cmd, args=[], [options])
提供直接执行系统命令的方法:child_process.exec(cmd, [options], callback)
提供调用脚本文件的方法:child_process.execFile(file, [args], [options], [callback])
提供杀死进程的方法:child.kill(signal='SIGTERM')
调用python脚本(python脚本本身是传参数的)
对python传参数的简单说明:
# -*-coding:utf-8 -*- ''' 需要模块:sys 参数个数:len(sys.argv) 脚本名: sys.argv[0] 参数1: sys.argv[1] 参数2: sys.argv[2] ''' import sys print u"脚本名:", sys.argv[0] for i in range(1, len(sys.argv)):#这里参数从1开始 print u"参数", i, sys.argv[i]
运行结果:
准备一个nodejs文件来调用这个python脚本(我对py_test.py做了修改,见下面),file_python.js:
var exec = require('child_process').exec; var arg1 = 'hello' var arg2 = 'jzhou' exec('python py_test.py '+ arg1+' '+arg2+' ',function(error,stdout,stderr){ if(stdout.length >1){ console.log('you offer args:',stdout); } else { console.log('you don\'t offer args'); } if(error) { console.info('stderr : '+stderr); } }); py_test.py内容如下: # -*-coding:utf-8 -*- import sys print sys.argv
运行结果如下:
以上就是nodejs中怎么调用python函数?的详细内容,更多请关注易知道|edz.cc其它相关文章!