所以我有节点调用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脚本时发送)
还有另一种方法吗?
答案 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);
});
});