我想做的事情与接受的答案in this question非常相似,但稍有改动。最后一行:
print p3.communicate()[0]
打印p3
的输出。我想基本上得到subprocess.call()
- 就像那里的行为而不是简单地在stdout接收输出。
例如,如果p3
较少,使用communicate
,较少的管道将更像是管道,因为它实际上不会打开更少,但只打印出输出
无论如何都要实现我所追求的目标(实际上是开放的更少而不仅仅是表现得像猫并传达其输出)?向正确的方向点头会很棒。
答案 0 :(得分:2)
所以不要这样做:
p3 = Popen(cmd, stdin=p2.stdout, stdout=PIPE)
...
print p3.communicate()[0]
我可以这样做:
subprocess.call(cmd, stdin=p2.stdout)
这将使我能够做我想做的事。 :)