首先,我坚持使用Python 2.4。这是一个大型企业环境,我无法更新到python 2.7,这将是我的偏好。
我需要读取一些dtrace脚本的输出,这些脚本以类似于iostat的间隔吐出数据。 (即:iostat 5 100#每5秒,100计数)
我正在和Popen和Popen.communicate一起玩,但它似乎立刻将所有数据打捞出来,然后用一个大字符串打印出来。
我需要进入while循环并一次读取输出1行。
有人能指出我这样做的正确方向吗?
很多。
答案 0 :(得分:0)
import subprocess
p = subprocess.Popen("some_long_command",stdout=subprocess.PIPE)
for line in iter(p.stdout.readline, ""):
print line
我认为至少......