[pyar] wrapper de comando interactivo
Nahuel Defosse
nahuel.defosse en gmail.com
Jue Mar 26 12:07:50 ART 2015
Hola!
> El 26/3/2015, a las 12:02 p.m., Nicolas Rebagliati <nicolas.rebagliati en aenima-x.com.ar> escribió:
>
> Al final era mas facil de lo que pense. Estas pocas lineas de codigo ejecutan el comando, te dan control total y podes manipular el stdout
>
> import pty
> import os
> def read(fd):
> data = os.read(fd, 1024)
> # Aca manipulo la salida como quiero, en mi caso la mando a una queue de la que un thread la toma y la vuelca a un archivo. No escrino directamente al archivo para no bloquear nada
> return data
>
> pty.spawn("comando", read)
>
Una forma de dar un nivel de abstracción si el comando es realmente interactivo, pej: esperar un campo password es usar pyexpect.
https://pexpect.readthedocs.org/en/latest/overview.html#special-eof-and-timeout-patterns <https://pexpect.readthedocs.org/en/latest/overview.html#special-eof-and-timeout-patterns>
Saludos
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150326/fd76b3cc/attachment.html>
More information about the pyar
mailing list