1
我试图用终端命令行访问python shell来构建一个web应用程序,但是我在使用流时遇到了一些困难。使用websocket节点将命令流式传输到python shell
我有一个node.js/websocket服务器,它将传入的命令发送到python进程的标准输入(下面的代码),这似乎工作正常,但由于某种原因,每个传入命令都会发送多个响应消息。例如,如果发送命令'hello world'
,则会将多个'hello world'
发送回客户端(以及通过stderr的多个>>>
)。我非常难过......我确信只有一个命令来自客户端,所以为什么我会收到很多回应?
var python = spawn('python', ['-i']);
s.on('run', function(input) {
console.log('Running command: ' + input.command);
python.stdin.write(input.command + '\n');
python.stdout.on('data', function(data) {
var output = '' + data;
s.emit('response', {
output: output
});
console.log('python stdout: ' + output);
});
python.stderr.on('data', function(data) {
var output = '' + data;
s.emit('response', {
error: output
});
console.log('python stderr: ' + output);
});
});
哦咄外面,谢谢! – user1027169