[Python-es] Re: Problema al ejecutar al inicio
Oscar Gunsett
ogunsett en gmail.com
Mar Abr 1 12:52:12 CEST 2008
Es evidente que al poner el programa al inicio de Windors no pusiste el PATH
que tomaría el ejecutable como referencia para buscar los archivos.
Esto se puede resolver de varias maneras:
1) Configurando adecuadamente la invocación desde windors
2) Trabajar en el código con path absolutos.
3) Usar el módulo os para cambiar el PATH que por defecto tomaran.
El día 31/03/08, Luis Orellana Orihuela <luis.ore.ori en gmail.com> escribió:
>
> Luis Orellana Orihuela escribió:
> > Realicé un pequeño Script en Python, posteriormente lo pasé a
> > ejecutable con Py2exe. La aplicación lee unos ficheros para
> > posteriormente tratarlos. Todo funciona correctamente. El problema es
> > que quiero que se ejecute al comienzo de Windows, para ello modifico
> > la clave oportuna en el registro de Windows. Bien, reinicio y me
> > aparece un error de ejecución del programa:
> >
> > Traceback (most recent call last):
> > File "programa.pyw", line 26, in <module>
> > IOError: [Errno 2] No such file or directory: 'info.txt'
> >
> > Según la traza el archivo del que tiene que leer programa.pyw no
> > existe, lo cual no es cierto, existe y está bien formado. Prueba de
> > ello es que si funciona el programa cuando lo ejecuto manualmente
> > después. Para solucionarlo probé a retrasar la lectura del archivo con
> > un time.sleep(10), aún así el problema persiste. A ver si conocéis la
> > causa de este error.
> >
> > Muchas gracias.
> >
> Al parecer el problema estaba en que el código abría el archivo haciendo
> referencia a la ruta relativa, la cual cambiaba al cambiar de ubicación
> el archivo. Para solucionarlo se me ha ocurrido usar argv[0]:
>
> antes:
> archivo=open("info.txt","r")
>
> ahora:
> archivo=open(sys.argv[0]+"\..\info.txt","r")
>
> de esta forma queda solucionado el problema.
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>
Más información sobre la lista de distribución Python-es