Leer carpetas y saber los archivos que están en ellas es muy sencillo en Python. Vamos a utilizar las funciones listdir, isfile, join y walk.
Si queremos ver todo el contenido de un fichero vamos a utilizar la función listdir a la que pasaremos el path del fichero en cuestión:
from os import listdir
for cosa in listdir("."):
print cosa
Este código imprimirá una lista con todos los elementos dentro del fichero. Si sólo queremos los archivos podemos utilizar la función isfile.
from os import listdir
from os.path import isfile, join
mi_path = "."
solo_archivos = [
cosa for cosa in listdir(mi_path)
if isfile(join(mi_path, f))
]
for archivo en solo_archivos:
print archivo
Hemos utilizado la función join para conseguir la ruta completa del archivo y utilizarla en la función isfile. Todo este proceso lo hemos realizado con una comprehension list.
¿Y si queremos recorrer todo el árbol de ficheros? Python, que tiene una solución para casi todo, nos proporciona la función walk. Esta función nos proporcionará, en cada iteración, el path actual, la lista de carpetas contenidas en ella y la lista de archivos contenidos en ella. Fácil ¿no?
from os import walk
for (path, ficheros, archivos) in walk("."):
print path
print ficheros
print archivos
Este código imprimirá en cada iteración el path actual, sus ficheros y sus archivos. Recorrerá todo el árbol de ficheros que cuelga del path proporcionado.
Y esto es todo por hoy. ¡Disfrutad!