Problema al ejecutar al inicio

Luis Orellana Orihuela luis.ore.ori en gmail.com
Lun Mar 31 11:36:53 CEST 2008


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