problema con llamada a software
Amm-Python
python en ammsoft.com
Sab Feb 24 11:43:22 CET 2007
No sería mejor dejar que el sistema operativo decida con que abrir el
archivo:
os.startfile("reporte.html")
De esta forma será abierto con el navegador por defecto que se haya
especificado en el sistema operativo, no importa cual.
Saludos.
> -----Mensaje original-----
> De: python-es-bounces en aditel.org
> [mailto:python-es-bounces en aditel.org] En nombre de Patricio Olivares
> Enviado el: dissabte, 24 / febrer / 2007 07:01
> Para: La lista de python en castellano
> Asunto: Re: [Python-es] problema con llamada a software
>
>
> Hola,
>
> Fabio Duran Verdugo wrote:
> > hola me llamo fabio y desarrollo bajo python y gtk
> incluyendo a kiwi
> > (gnome), y tengo un problema que no es un bug pero resulta molesto,
> > porque resulta que estoy desarrollando un sistema que necesita y
> > despende de firefox (linux) y explorer (wintendo), y el problema es
> > que si ejecuto esta instruccion :
> >
> > if sys.platform == "win32":
> > os.system("explorer reporte.html")
> > else:
> > os.system("firefox reporte.html")
> >
> > mi sistema queda esperando que se termine esa instruccion
> provocando
> > que es software se bloquee hasta que se cierre, una vez cerrado el
> > navegador el sistema funciona tal cual y lo que necesito es que
> > interactuen ambas cosas o sea mi sistema con el navegador,
> y eso no se
> > y no eh podido hacerlo, porque necesariamente necesita pasa
> y esperar
> > que eso se cumpla, alguna idea se agradece atte
>
> os.system() se comporta parecido a la función "system" de C,
> o sea que espera a que el proceso hijo termine.
>
> Como alternativa fácil, puedes usar el módulo subprocess, si
> es que estás usando python 2.4 o superior.
>
> subprocess.Popen('firefox reporte.html', shell=True)
>
> Popen soporta varias opciones extra para "conversar" con el
> proceso, pero para lo que quieres, la línea de arriba debería bastar.
>
>
> Si necesitas que funcione en versiones anteriores de python,
> te puede servir una de las os.spawn*()
> http://docs.python.org/lib/os-process.html#l2h-2749
>
> y aquí hay un ejemplo de uso (ojo con os.P_WAIT versus os.P_NOWAIT)
> http://effbot.org/librarybook/os.htm
> (busca "fork and wait are not available on Windows")
>
>
> Suerte...
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org http://listas.aditel.org/listinfo/python-es
>
Más información sobre la lista de distribución Python-es