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