我在nodejs child_process模块上测试从我的python脚本中读取stdout。但是,当我的python每秒钟之间发出消息时,我注意到了。 nodejs回调只能在python脚本结尾处收集stdout。
Python脚本
import time
for i in range(0,5):
····print i
····time.sleep(0.5)
并且nodejs脚本是
var cp = require('child_process');
var spw = cp.spawn('python', ['tql.py']),
str = "";
spw.stdout.on('data', function (data) {
str+= data;
console.log(data);
});
spw.on('close', function (code) {
console.log(str);
});
spw.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
我的程序不是每秒发出一次消息,而是在python脚本结束时调用回调。为了实现我的目标,还有什么我需要知道的吗?