调用包含多个管道的命令Popen以便可以读取其输出的正确方法是什么?我试过了:
Popen(shlex.split("mycmd arg1 | mysecondcmd - | thirdcmd -", stdout=PIPE)")
但我不相信shlex.split就在这里.什么是正确的语法?
你有几个选择 - 你可以通过shell=True:
Popen('command1 | command2 | command3',shell=True)
Run Code Online (Sandbox Code Playgroud)
或者,您可以将其分解为一系列Popen调用,将其stdout挂接到下一个Popen的stdin,如文档中所示.