需要使用Python 2.4从长时间运行的os命令中读取

时间:2014-05-28 22:24:19

标签: python operating-system subprocess popen

首先,我坚持使用Python 2.4。这是一个大型企业环境,我无法更新到python 2.7,这将是我的偏好。

我需要读取一些dtrace脚本的输出,这些脚本以类似于iostat的间隔吐出数据。 (即:iostat 5 100#每5秒,100计数)

我正在和Popen和Popen.communicate一起玩,但它似乎立刻将所有数据打捞出来,然后用一个大字符串打印出来。

我需要进入while循环并一次读取输出1行。

有人能指出我这样做的正确方向吗?

很多。

1 个答案:

答案 0 :(得分:0)

import subprocess
p = subprocess.Popen("some_long_command",stdout=subprocess.PIPE)
for line in iter(p.stdout.readline, ""):
    print line

我认为至少......