|
|
1
46
你会更开心的。
将部分工作委托给shell。让它用管道连接两个进程。
编辑 [有太多理由通过评论作出回应。]
边栏
为什么要建管道(
我认为上面的代码可以递归地用来生成
因为Python已经
但是,将该操作委托给shell更容易。 |
|
|
2
29
|
|
|
3
18
不调用shell(请参见 17.1.4.2. Replacing shell pipeline ):
类似于:
是:
|
|
|
4
4
公认的答案是回避这个问题。 请注意,它还打印(多少)等效的shell命令,以便您可以运行它并确保输出正确。
|
|
|
5
3
http://www.python.org/doc/2.5.2/lib/node535.html 很好的掩盖了这件事。你是不是有些地方不明白?
|
|
|
6
2
已经做了什么
|
|
|
7
1
https://docs.python.org/2/library/pipes.html , https://docs.python.org/3.4/library/pipes.html
|
|
|
8
1
Replacing shell pipeline
基本上是正确的,正如geocar所指出的。它是
几乎
足以运行
输入数据
输送管道。对于多个子流程,一个简单的
现在,子项通过管道提供输入,父项调用communicate(),其工作方式与预期一致。使用这种方法,您可以创建任意长的管道,而无需求助于“将部分工作委托给shell”。不幸的是 subprocess documentation 有几种方法可以在不使用管道的情况下达到相同的效果:
由于信号处理方式不同,上述方法仍然不能完全等同于bash管道。如果添加另一个管道元素来截断
|
|
|
9
0
对我来说,下面的方法是最简洁易懂的
可以这么说:
|