Как с помощью python получать результат команды в терминале и при этом получать результат по мере выполнения этой команды?

Я знаю, что получить результат команды из терминала, можно получить таким кодом на python:

import subprocess

command = ['ipconfig']
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.IGNORE)
text = p.stdout.read()
retcode = p.wait()

Здесь, я получаю результат выполнения команды, когда она закончится, ну а если запустить бесконечный ping, например, то результат я не получу. Так как мне получать результат команды по мере её выполнения на python?

Моя ОС: Windows 10

Но если такое возможно, приведите кросс-платформенное решение.

UPD: Я Имел ввиду, что как только терминал даст какой-нибудь результат, сразу же записывать его в переменную, примерно так:

import threading
import module_name #Какой-то модуль
from time import sleep

cmd = input()
result = ""
def term_res():
    while True:
        result += module_name.get_res_from_cmd(cmd)


potok = threading.Thread(target=term_res, daemon=True)
potok.start()

while True:
    print(result)
    sleep(10)

Ответы (1 шт):

Автор решения: dimimir

У меня не получилось найти ответ в интернете, но комментариях предложили: https://ru.stackoverflow.com/a/1141679/384202 . Этот ответ работает для Windows, но как я понял для других ОС расширение .bat надо просто поменять на другое, которое выполняет их терминал.

→ Ссылка