0

我想要做的是与这个问题中接受的答案非常相似,但是略有变化。最后一行:

print p3.communicate()[0]

打印 的输出p3。我想基本上在那里获得类似subprocess.call()的行为,而不是简单地在标准输出接收输出。

例如,如果p3是 less,则使用communicate, 到 less 的管道的行为更像是到 cat 的管道,因为它实际上不会打开 less,而只是打印输出。

有没有办法实现我所追求的(实际上是打开的更少,而不仅仅是它的行为像 cat 并传达它的输出)?朝正确的方向点头会很棒。

4

1 回答 1

2

所以不要这样做:

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

我可以这样做:

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

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

于 2013-05-11T07:25:45.347 回答