[pyar] Cómo implementar, era --> Re: tail -f con esteroides en Python para ver logs en tiempo real

Roberto Alsina ralsina en netmanagers.com.ar
Vie Ago 27 11:05:47 ART 2010


On Friday 27 August 2010 10:50:39 Daniel Moisset wrote:
> 2010/8/27 Roberto Alsina <ralsina en netmanagers.com.ar>:
> >> Me imaginaba esto: cuando tipeo, lo que tipeo aparece en la línea final
> >> y al darle enter se ejecuta el comando (que puede agregar algún filtro
> >> sobre esa catarata que viene por la entrada estándar).
> >> 
> >> Pero lo que tipeo es entrada estándar y ya la tengo ocupada y no se como
> >> resolverlo :(
> >> 
> >> Me ayudan?
> > 
> > Normalmente es así, si estas recibiendo data por stdin no podes hacerlo
> > interactivo.
> 
> Pero se tiene que poder: si hago "ls | less", less lee de stdin y es
> interactivo
> 
> Sin tiempo de probarlo aca, lo primero que se me ocurre es leer la
> entrada interactiva de /dev/tty/ (Si, unix only), y la entrada de
> stdin. y probablemente tengas que multiplexar con select.select, o
> select.poll, o algo de mas alto nivel para multiplexar estas cosas (se
> me ocurre glib y eventos, por ej. Calculo que twisted tambien, quizas
> es overkill)

Es cuestión de "reabrir" stdin (de ahí lo de "normalmente" ;-) En C se hace 
algo con dup o dup2 pero la verdad no me acuerdo bien.




More information about the pyar mailing list