本文介绍了保持子进程活着并继续给它命令?Python的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我使用给定命令在 python 中生成一个新的 subprocess
(假设我使用 python
命令启动 python 解释器),我如何将新数据发送到过程(通过 STDIN)?
If I spawn a new subprocess
in python with a given command (let's say I start the python interpreter with the python
command), how can I send new data to the process (via STDIN)?
推荐答案
from subprocess import Popen, PIPE
# Run "cat", which is a simple Linux program that prints it's input.
process = Popen(['/bin/cat'], stdin=PIPE, stdout=PIPE)
process.stdin.write(b'Hello
')
process.stdin.flush()
print(repr(process.stdout.readline())) # Should print 'Hello
'
process.stdin.write(b'World
')
process.stdin.flush()
print(repr(process.stdout.readline())) # Should print 'World
'
# "cat" will exit when you close stdin. (Not all programs do this!)
process.stdin.close()
print('Waiting for cat to exit')
process.wait()
print('cat finished with return code %d' % process.returncode)
这篇关于保持子进程活着并继续给它命令?Python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!