【发布时间】:2014-08-29 16:13:31
【问题描述】:
我想重复发送请求以处理标准输入并接收来自标准输出的响应而不多次调用subprocess。我可以使用p.communicate 实现一次性请求-响应迭代,但是不要多次调用subprocess 我需要使用:process.stdout.readline() 挂起。如何正确使用?
我使用 Python 2.7 64 位,Windows 7。提前致谢。
main.py:
import subprocess
p = subprocess.Popen(['python','subproc.py'],stdin=subprocess.PIPE,stdout=subprocess.PIPE)
while True:
s=raw_input('Enter message:')
p.stdin.write(s)
p.stdin.flush()
response = p.stdout.readline()
if response!= '':
print "Process response:", response
else:
break
subproc.py:
from __future__ import division
import pyximport
s=raw_input()
print 'Input=',s
【问题讨论】:
标签: python subprocess stdout