Say I write this:
from subprocessing import Popen, STDOUT, PIPE
p = Popen(["myproc"], stderr=STDOUT, stdout=PIPE)
Now if I do
line = p.stdout.readline()
my program waits until the subprocess outputs the next line.
Is there any magic I can do to p.stdout
so that I could read the output if it's there, but just continue otherwise? I'm looking for something like Queue.get_nowait()
I know I can just create a thread for reading p.stdout
, but let's assume I can't create new threads.