管道iostat -d 1到python sys.stdin

时间:2015-12-23 19:17:21

标签: python terminal pipe iostat

我正在尝试使用以下命令来管理iostat,mongostat等实用程序的输出:

removes

我正在使用代码:

$ iostat -d 1 | ./script.py

我看到它挂起并且不会将每一行打印到控制台。 如果我在没有标志的情况下运行重复每秒'-d 1',其中输出只发生一次,则脚本的行为与预期一致。

$ iostat | ./script.py

1 个答案:

答案 0 :(得分:2)

数据正在缓冲,您可以在iter上致电sys.stdout.readline

import sys
for line in iter(sys.stdin.readline,""):
    print line

在它上面运行iostat只输出几行,iostat -d 1循环,以便数据被缓冲。