Re: [Python-es] ¿Hacer un | en plan bash con Subprocess.Popen?

2018-06-04 Por tema Jhonatan Sneider Salguero Villa
Hola,

Creo que debes usar subprocess.Popen que retorna un stdout que se comporta
como un archivo (que es lo que espera stdin)
en lugar de run que retorna el resultado en un string.

import subprocess

size = 32
random = subprocess.Popen(['head', '-c {}'.format(3 * size * size),
'/dev/urandom'], stdout=subprocess.PIPE)
result = subprocess.Popen(['convert', '-depth', '8', '-size',
'{}x{}'.format(size, size), 'RGB:-', 'random2.png'], stdin=random.stdout,
stdout=subprocess.PIPE)



2018-06-04 20:10 GMT-05:00 Jose Caballero :

> >
> > Falla y da un error de que:
> > convert-im6.q16: unrecognized option `-size8x8' @
> >
>
>
> ?te falta un espacio en blanco entre "-size" y "8x8"?
> ___
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
>
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


Re: [Python-es] ¿Hacer un | en plan bash con Subprocess.Popen?

2018-06-04 Por tema Jose Caballero
>
> Falla y da un error de que:
> convert-im6.q16: unrecognized option `-size8x8' @
>


?te falta un espacio en blanco entre "-size" y "8x8"?
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es


[Python-es] ¿Hacer un | en plan bash con Subprocess.Popen?

2018-06-04 Por tema Miguel de Dios Matias
Buenas.

Jugando image imagick he encontrado este script en bash para generar iconos
de pixeles aleatorios:

mx=8;my=8;head -c "$((3*mx*my))" /dev/urandom | convert -depth 8 -size
"${mx}x${my}" RGB:- /tmp/random.png


Y por aprender quería pasarlo a Python, pero no he sido capaz.

#!/usr/bin/python3
import subprocess

result = subprocess.run(['head', '-c {}'.format(3 * size * size),
'/dev/urandom'], stdout=subprocess.PIPE)print('{}'.format(result))
result = subprocess.run(['convert', '-depth 8',
'-size{}x{}'.format(size, size), 'RGB:-', '/tmp/random.png'],
stdin=result.stdout, stdout=subprocess.PIPE)


Falla y da un error de que:
convert-im6.q16: unrecognized option `-size8x8' @
error/convert.c/ConvertImageCommand/2969.

Algo estoy haciendo mal, pero no se el que...no se si sera que el stdout
del primer proceso es bytes...

Por cierto he puesto la pregunta en stackoverflow por si alguien la quiere
contestar ahí y le doy un voto.

https://stackoverflow.com/questions/50682514/when-python3-chain-two-subprocess-run-such-as-bash-pipe-get-error-attributeer

Saludos.
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es