[pyar] wrapper de comando interactivo

Nicolas Rebagliati nicolas.rebagliati en aenima-x.com.ar
Jue Mar 26 12:21:01 ART 2015


2015-03-26 12:07 GMT-03:00 Nahuel Defosse <nahuel.defosse en gmail.com>:

> 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
>
> Saludos
>
> Pyexpect no me sirve porque nunca se lo que va a venir.
La idea es que sea 100% dinamico
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150326/b0aeaec4/attachment.html>


More information about the pyar mailing list