Python 管道到subprocess.call中

Python 管道到subprocess.call中,python,subprocess,Python,Subprocess,我想做的事情与公认的答案非常相似,不过有一点变化。最后一行: print p3.communicate()[0] 打印p3的输出。我希望基本上获得类似于subprocess.call()的行为,而不是简单地在stdout接收输出 例如,如果p3较小,则使用communicate,到较小的管道的行为更像是到cat的管道,因为它实际上不会打开较小的管道,而只是打印输出 有没有办法实现我所追求的目标(实际上是打开的更少,而不仅仅是它表现得像猫并传达其输出)?朝着正确的方向点头是非常棒的。因此,不要这

我想做的事情与公认的答案非常相似,不过有一点变化。最后一行:

print p3.communicate()[0]
打印
p3
的输出。我希望基本上获得类似于
subprocess.call()
的行为,而不是简单地在stdout接收输出

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

有没有办法实现我所追求的目标(实际上是打开的更少,而不仅仅是它表现得像猫并传达其输出)?朝着正确的方向点头是非常棒的。

因此,不要这样做:

p3 = Popen(cmd, stdin=p2.stdout, stdout=PIPE)
...
print p3.communicate()[0]
我可以做到:

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

这将允许我做我想做的事。:)

你能用文字(没有代码)描述一下你想做什么吗?那么您尝试过什么,例如,用
调用(stdout=None)
替换最后一个
Popen(stdout=PIPE)/communicate()
,以及它是如何失败的(一个显示问题的最小完整代码示例会很有帮助)?我相当愚蠢,完全没有阅读文档;我会把我的答案贴在下面。