管道进入subprocess.call

时间:2013-05-11 06:41:55

标签: python subprocess

我想做的事情与接受的答案in this question非常相似,但稍有改动。最后一行:

print p3.communicate()[0]

打印p3的输出。我想基本上得到subprocess.call() - 就像那里的行为而不是简单地在stdout接收输出。

例如,如果p3较少,使用communicate,较少的管道将更像是管道,因为它实际上不会打开更少,但只打印出输出

无论如何都要实现我所追求的目标(实际上是开放的更少而不仅仅是表现得像猫并传达其输出)?向正确的方向点头会很棒。

1 个答案:

答案 0 :(得分:2)

所以不要这样做:

p3 = Popen(cmd, stdin=p2.stdout, stdout=PIPE)
...
print p3.communicate()[0]

我可以这样做:

subprocess.call(cmd, stdin=p2.stdout)

这将使我能够做我想做的事。 :)