我想在下面一行用子:Python子流程:如何使用管道三次?
convert ../loxie-orig.png bmp:- | mkbitmap -f 2 -s 2 -t 0.48 | potrace -t 5 --progress -s -o ../DSC00232.svg
我发现谢到其他职位the subprocess documentation但我们只使用两次管道的例子。
所以,我尝试了两三个命令和它的作品
p1 = subprocess.Popen(['convert', fileIn, 'bmp:-'], stdout=subprocess.PIPE)
# p2 = subprocess.Popen(['mkbitmap', '-f', '2', '-s', '2', '-t', '0.48'], stdout=subprocess.PIPE)
p3 = subprocess.Popen(['potrace', '-t' , '5', '-s' , '-o', fileOut], stdin=p1.stdout,stdout=subprocess.PIPE)
p1.stdout.close() # Allow p1 to receive a SIGPIPE if p3 exits.
output = p3.communicate()[0]
你能帮我的第三个命令?
非常感谢。
你有没有再次尝试与同一过程中的第三命令? – 2012-03-11 14:43:07
为什么你没有尝试过工作?所有在shell中的管道都将一个进程的标准输出连接到另一个进程。 – Dunes 2012-03-11 14:43:56
我不知道在哪里我必须关闭p2以及如何编码输出... – Zorkzyd 2012-03-11 14:47:06