У меня возникают проблемы с перенаправлением stdio другой программы с использованием модуля subprocess. Просто чтение из stdout приводит к зависанию, а Popen.communicate() работает, но закрывает трубы после чтения/записи. Какой самый простой способ реализовать это?
Я играл с этим по окнам:
import subprocess
proc = subprocess.Popen('python -c "while True: print \'Hi %s!\' % raw_input()"',
shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
while True:
proc.stdin.write('world\n')
proc_read = proc.stdout.readline()
if proc_read:
print proc_read