[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