如何使用 subprocess.Popen 中的 STDIN
How to use STDIN from subprocess.Popen
我怎样才能实现类似
的东西
$ echo "hello" | my_app
使用 Python 的子进程?
subprocess.Popen() 需要 STDIN 的管道或文件句柄。但我想通过变量为被调用程序提供 STDIN。所以像
myinput = "hello"
subprocess.Popen("an_external_programm", stdin=myinput)
….
在名为 myscript.py
的 python 脚本中
import sys
for line in sys.stdin:
print(line)
在 Unix 中
回声'hello' | myscript.py
我使用 Popen.communicate()
解决了我的问题
所以某种伪代码:
proc = subprocess.Popen(…)
proc.communicate(input="my_input_via_stdin")
我怎样才能实现类似
的东西$ echo "hello" | my_app
使用 Python 的子进程?
subprocess.Popen() 需要 STDIN 的管道或文件句柄。但我想通过变量为被调用程序提供 STDIN。所以像
myinput = "hello"
subprocess.Popen("an_external_programm", stdin=myinput)
….
在名为 myscript.py
的 python 脚本中import sys
for line in sys.stdin:
print(line)
在 Unix 中
回声'hello' | myscript.py
我使用 Popen.communicate()
所以某种伪代码:
proc = subprocess.Popen(…)
proc.communicate(input="my_input_via_stdin")