Me gustaría utilizar subproceso en la línea siguiente:Subproceso de Python: cómo usar las tuberías tres veces?
convert ../loxie-orig.png bmp:- | mkbitmap -f 2 -s 2 -t 0.48 | potrace -t 5 --progress -s -o ../DSC00232.svg
He encontrado gracias a otros puestos the subprocess documentation pero en el ejemplo utilizamos solamente tubería dos veces.
Por lo tanto, trato de dos de los tres comandos y funciona
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]
¿me pueden ayudar para el tercer comando?
Muchas gracias.
¿Usted intentó de nuevo para el tercer comando con el mismo proceso? –
¿Por qué no funcionó lo que has intentado? Todo lo que hace la tubería en un shell es la conexión estándar de un proceso para agregar otro. – Dunes
No sé dónde tengo que cerrar la p2 y cómo codificar la salida ... – Zorkzyd