Node.js从python脚本接收数据

时间:2016-06-06 14:46:05

标签: python node.js

所以我有节点调用python脚本,但我想从python中获取一个对象。

我目前正在使用Python-shell(https://www.npmjs.com/package/python-shell),但问题是它的监听,所以我实际上无法发送我从中得到的数据

    shell.on('message', function(message){
            ah = message;
            console.log(message);
            console.log("#");

});

    console.log(ah);
    var host = {
        "hostName":ah
    };
    console.log(host);
    return response.send(200, host);

代码的最后一部分将在python脚本通过print()返回任何内容之前执行得很好 (我也不能把response.send放在监听功能中,因为它可能会在每次打印python脚本时发送)

还有另一种方法吗?

1 个答案:

答案 0 :(得分:0)

如果要将脚本的结果返回给客户端,只需将此调用包装:路由器端点中的PythonShell.run:

app.get('/somepath', (req, res)=>{

 PythonShell.run('my_script.py', options, function (err, results) {
      if (err) throw err;
      // results is an array consisting of messages collected during execution 
      res.send('results: %j', results);
    });

});