使用下面的代码,我在端口 3000 上创建了一个 HTTP 服务器并添加了一些获取参数。我想用这个 express.js 服务器代码调用一个 python 脚本,这样当我点击 localhost:3000/key1/abc/key2/234 时,python 脚本就会被调用。我已经准备好将输入参数作为 sys.argv 的 python 脚本。请建议如何使用此代码调用 python 脚本,以便它将 value1 和 value 2 作为输入参数并返回 json。
var express = require('express');
var app = express();
app.get('/key1/:value1/key2/:value2',function(req,res)
{
console.log(req.params);
var value1 = req.params.value1;
var value2 = req.params.value2;
res.send(req.params);
});
app.listen(3000,function()
{
console.log("Server listening on port 3000");
});
要从 Node.js 运行 Python 脚本,需要生成一个新进程。你可以用child_process做到这一点。
您将python
作为可执行文件运行,并将您的脚本名称作为第一个参数。
这是基于上面链接的文档的示例:
const spawn = require('child_process').spawn;
const ls = spawn('python', ['script.py', 'arg1', 'arg2']);
ls.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
ls.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
ls.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句