Título: [Python/Tk]Mi Programa se ríe de mi Publicado por: AdeLax en 9 Agosto 2013, 20:09 pm Hola buenas a todos!
Les traigo una cosa muy curiosa que me pasa, no se si es mi programa, la función 'os.listdir()' , un error, o soy estúpido... Les traigo este script, que funciona para moverse entre carpetas de forma visual, esta en desarrollo, el programa, lista todos los archivos y carpetas, tu selecionas una carpeta, NO un archivo, y lista los archivos de esa carpeta, pero si lo vuelvo a hacer en otro directorio me da error! :-[ :-[ :-[ Les traigo el script para que lo miren: Código: from Tkinter import * Guardenlo como .py para visualizar el error en consola Es como que no existiese ese directorio, aparte e puesto un par de prints por si acaso era error de otra funcion o variable, pero no por lo que e visto es el listdir creo. Ojala alguien me pueda dar una solución seria de mucho agrado :D :D Título: Re: [Python/Tk]Mi Programa se ríe de mi Publicado por: Once en 11 Agosto 2013, 05:21 am El problema es que estas trabajando sobre la ruta en la que está el script (os.getcwd()) así que lo que tienes sólo te sirve para las carpetas que esten al mismo nivel que el script.
Supon que en la raíz del disco C: tienes tu script y la carpeta "Nueva" y dentro de la carpeta "Nueva" tienes otra carpeta con el nombre: "Más nueva" Cuando haces os.getcwd() te regresa c:/ si intentas entrar a "Nueva" la ruta te quedaria: C:/Nueva (no da errores, la carpeta existe) pero cuando intentas entrar a "Más nueva" la ruta te quedaria: C:/Más nueva (que no existe) la ruta verdadera seria: C:/Nueva/Más nueva Y un par de sugerencias: En lugar de usar: Código usa os.path.join() Código
Declara primero las funciones y luego coloca el código principal También puedes usar la función os.path.isdir() (http://docs.python.org/2/library/os.path.html#os.path.isdir) para que evites esos errores cuando no se selecciona un directorio. Saludos! Título: Re: [Python/Tk]Mi Programa se ríe de mi Publicado por: AdeLax en 11 Agosto 2013, 12:19 pm Muchas gracias por la respuesta! :D
Me ayudaste mucho |