Вывод результатов подпроцесса в режиме реального времени - PullRequest
0 голосов
/ 13 марта 2019

В настоящее время я использую библиотеку подпроцессов для вдов, чтобы выполнить команду в cmd. Моя проблема в том, что я хотел бы отображать вывод 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 голосов
/ 13 марта 2019

Будет ли это полезно для вас?

  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

Вам может пригодиться эта ссылка .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...