Скажем, я пишу это:
from subprocessing import Popen, STDOUT, PIPE
p = Popen(["myproc"], stderr=STDOUT, stdout=PIPE)
Теперь, если я делаю
line = p.stdout.readline()
моя программа ждет, пока подпроцесс не выведет следующую строку.
Есть ли какая-либо магия, которую я могу сделать для p.stdout
, чтобы я мог читать вывод, если он есть, но просто продолжать иначе? Я ищу что-то вроде Queue.get_nowait()
Я знаю, что могу просто создать поток для чтения p.stdout
, но предположим, что я не могу создавать новые потоки.