Я очень новичок в программировании, поэтому заранее прошу прощения, если мой вопрос слишком глуп.
#!/usr/bin/python2.6
import subprocess, time
p=subprocess.Popen(['cat'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
for i in 'abcd':
p.stdin.write(str.encode(i+'\n'))
output=p.stdout.readline()
print(output)
time.sleep(1)
При выполнении этого кода в Python 2.6 печатаются буквы a, b, c, d, каждая строка вывода появляется через секунду. Это ожидаемое поведение.
Но в Python 3.1 выполнение блокируется в строке output=p.stdout.readline()
.
Как исправить это для Python 3.1?