Чтение из p.stdout
для доступа к выводу процесса.
В зависимости от того, что делает процесс, вам, возможно, нужно быть осторожным, чтобы не блокировать p.stdout
, в то время как p
в свою очередь блокирует его stdin
. Если вы точно знаете, что он будет выводить строку каждый раз, когда вы пишете в нее, вы можете просто чередовать цикл таким образом:
while still_going:
p.stdin.write('blah\n')
print p.stdout.readline()
Однако, если выходные данные являются более спорадическими, вы можете заглянуть в модуль select
, чтобы чередовать чтение и запись более гибким способом.