我正在编写一个(相当愚蠢的)脚本。它需要做的一件事是,给定 python 代码,执行它。它还需要是交互式的。经过相当多的环顾后,我决定使用 child_process spawning。但是,当我尝试时,输出似乎没有出现。
以此为例:
var spawn = require('child_process').spawn;
var p = spawn('python3',['-q']);
p.stdout.on('data', function(data) {
if (data.toString() != '>>> ') {
console.log(data.toString());
}
});
p.stdin.write("print('hello world')\n");
我在这里尝试做的事情应该很明显。我正在寻找的行为是让短语“hello world”出现在控制台中。然而,什么也没有出现。child_process exec 似乎可以工作,但就像我说的那样,我需要它是交互式的,而 exec 似乎无法做到这一点,因为所有输出都出现在最后而不是流中。帮助?