在IBM Watson node.js chatbot中运行python脚本

时间:2018-04-28 07:49:31

标签: python node.js ibm-cloud watson watson-conversation

我使用IBM Watson在Node.js中创建了一个聊天机器人。我试图在其中运行python脚本,但我无法做到。我尝试了浏览器并将所有依赖项捆绑在一个.js文件中并在html页面中调用了该脚本,但它仍然没有工作。

var PythonShell = require('python-shell');

var options = {
    mode: 'text',
    args: 765
};

    PythonShell.run('pyt.py', options, function (err, results) {
        if (err) throw err;
        console.log('results: %j', results[0].toString());
    });

它在node.js和python文件之间本地运行。但是,当我在服务器上部署聊天机器人时,它不起作用。

1 个答案:

答案 0 :(得分:0)

如果你想使用从Python脚本返回的数据,你应该在你的python脚本中使用,试着把它放在:

print(dataToSendBack)
sys.stdout.flush()

然后Node可以通过以下方式检查您的数据:

var spawn = require("child_process").spawn;
var pythonProcess = spawn('python',["path/to/script.py", arg1, arg2, ...]);

pythonProcess.stdout.on('data', function (data){
// Do something with the data returned from python script
});