我对编程非常陌生,所以如果我的问题太傻,请提前道歉。
#!/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中纠正这个问题?