ok vale intentare entonces por ahi que es donde mas corto sera el viaje
entonces cualquier cosa les comento

un abrazo

El 28 de enero de 2011 05:14, tny <a.por...@gmail.com> escribió:

> Además de threads y process también hay programación asíncrona.
>
> Si lo vas a hacer con el comando, yo creo que lo mejor es usar
> io_add_watch como ya te han recomendado:
> www.pygtk.org/pygtk2tutorial/sec-MonitoringIO.html
> De este modo el propio gestor de eventos de pygtk se encarga de llamar a
> tu función cada vez que haya datos que leer en stdout
>
> No necesitas más que definir la función, crear el subproceso, y asignar
> dicha función como callback del stdout del subproceso, y el gtk.main()
> se encarga de todo.
>
>
> Por si no andas fino con el inglés te lo traduzco-resumo
>
> source_id = gobject.io_add_watch(source, condition, callback)
>
> source es el fileno del stdout subprocess
> condition es gobject.IO_IN (porque quieres leer)
> callback es la función que se encargará de leer cuando haya datos que
> leer
>
> la función callback sera del estido de
> def input_callback(source, condition):
>
> donde source es el fileno del stdout del subprocess
> y a condition puedes ignorarle, pues en tu caso siempre sera IO_IN
> OJO debes devolver True para que callback sea llamado la próxima vez que
> lleguen datos a stdout.
> Y no hace falta andar con seeks ni nada, puesto que stdout es un pipe,
> una vez que lees los datos desaparecen.
>
>
> El jue, 27-01-2011 a las 10:13 -0500, Tony Peña escribió:
> > vale, ya andaba por thread a ver si me resultaba pero estube pensando
> > tambien otra opcion que quizas sea otra via es que:
> >
> > podria abrir el fichero antes de ejecutar el proceso y ponerle un
> > seek(0)
> > como posicion inicial, ejecutar con el thread el proceso, y mientras
> > esta
> > escribiendo el seek comience a ir parseando
> > y hacer un recorrido hasta donde se vaya creando mientras se parsea
> > como
> > 2das cosas que debe hacer, y luego seguir recorriendo el fichero
> > con el mismo seek
> > eso podria resolver tambien?
> >
> > vaya es algo tan sencillo como cualquiera que manda a hacer algo en
> > bash y
> > le mande la salida a un log y por otro lado este el tail -f mirando el
> > log
> > que se ve como avanza cuando sucede algo y sino se queda esperando
> > hasta que
> > le pasen el Ctrl C entiendes?
> >
> > bueno eso mismo pero en python
> >
> > saludos
>
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a