ter23 发表于 2015-5-11 13:07:47

python 获取subprocess实时输出信息

import subprocess

p = subprocess.Popen("ping www.baidu.com -n 6",shell=True,stdout=subprocess.PIPE)

#一下面是第一种方法(使用时请先注释第二种方法)
for i in iter(p.stdout.readline, b''):
    print i.rstrip()

#下面是第二种方法(使用时请先注释第一种方法)
returncode = p.poll() #用于检查子进程是否已经结束
while returncode is None:
    print p.stdout.readline().strip()
    returncode = p.poll()
print p.stdout.read() #由于上面都是一行一行的获取,有可能导致最后几行还没有获取到,所以最后直接输出所有
print returncode


页: [1]
查看完整版本: python 获取subprocess实时输出信息