Я пытаюсь периодически читать самые последние выходные данные subprocess
, чтобы затем обрабатывать их в другом месте. Я не настолько опытен в subprocess
, может быть, у вас есть несколько лучших практик для меня? Шаги:
- Запустите процесс: этот процесс должен выполняться в фоновом режиме, поэтому я не увижу весь его вывод на терминале python (боюсь, что-то сломается sh из-за большого количества данных в любых переменных скрипта python). Процесс будет выдавать данные каждую секунду (строка длиной около 30 символов).
- Чтение последних данных: В бесконечном while-l oop сценария python мне нравится получать последнюю строку
subprocess
каждые 3 секунды.
import subprocess
import os
import time
os.chdir('/home/pi/Tutorials/RIOT/examples/gnrc_networking')
cmd = ["sudo", "BOARD=pba-d-01-kw2x", "make", "all", "flash", "term"]
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
while True:
line = p.stdout.readline().rstrip()
print(line)