我如何实现
之类的东西$ echo "hello" | my_app
使用Python的子进程?
subprocess.Popen()需要STDIN的管道或文件句柄。但我想通过变量为被调用程序提供STDIN。像
这样的东西myinput = "hello"
subprocess.Popen("an_external_programm", stdin=myinput)
….
答案 0 :(得分:1)
我可以使用Popen.communicate()
所以某种伪代码:
proc = subprocess.Popen(…)
proc.communicate(input="my_input_via_stdin")
答案 1 :(得分:0)
在名为myscript.py的python脚本中
import sys
for line in sys.stdin:
print(line)
in unix
回声'你好'| myscript.py