我使用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文件之间本地运行。但是,当我在服务器上部署聊天机器人时,它不起作用。
答案 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
});
child-process
的更多信息。