实时显示子流程输出

时间:2019-03-13 13:59:59

标签: python subprocess

目前,我正在寡妇上使用subporcess库在cmd中执行comand。我的问题是我想实时显示cmd的输出。在命令执行她的工作后,我能够显示输出。可以实时显示输出吗?

我的代码如下:

import subprocess

def get_output(command):
    process = subprocess.Popen(command, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
    output = process.communicate()[0]
    return output.decode('utf-8')

print(get_output('ping 8.8.8.8'))

1 个答案:

答案 0 :(得分:0)

这对您有帮助吗?

  import subprocess
  import shlex

    def get_output(command):
        process = subprocess.Popen(shlex.split(command), stdout=subprocess.PIPE)
        while True:
            output = process.stdout.readline()
            if output == '' and process.poll() is not None:
                break
            if output:
                print output.strip()
        rc = process.poll()
        return rc

您可能会发现有帮助的this link