¿Cómo recorrer un árbol de carpetas usando Python?

Hoy veremos cómo recorrer un árbol de carpetas usando Python. La función que utilizaremos pertenece al módulo os.

El módulo os tiene funciones que nos van a permitir con el sistema operativo. La función que usaremos el día de hoy es walk(). A esta función le pasamos una ruta y nos regresa una tupla formada de 3 elementos. El primer elemento es una cadena de caracteres con la ruta. El segundo elemento es una lista que tiene las carpetas dentro de la ruta. Y el tercer elemento es otra lista con los archivos que se encuentran en la ruta.

El código que vamos a utilizar es el siguiente:

from os import walk

for elem in walk("c:\demo"):
    print(elem)

El código hace lo siguiente:

  • Importa solo la función walk() del módulo os
  • Imprime en pantalla la ruta, carpetas y archivos de cada directorio que contiene la ruta que le pasamos.

El código anterior muestra toda la información de la tupla, vamos a separar los componentes.

from os import walk

for ruta, carpetas, archivos in walk("c:\demo"):
    print("La ruta: ",ruta, type(ruta))
    print("Carpetas: ",carpetas, type(carpetas))
    print("Archivos: ",archivos, type(archivos))

Las líneas que se incluyeron hacen lo siguiente:

  • Separa en distintas variables el contenido de la tupla que regresa la función walk().
  • Muestra de forma independiente el contenido de cada una de las variables.

Si te interesa conocer mas funciones del modulo os te dejo el enlace a la entrada 11 funciones del módulo os que debes conocer. O si lo que prefieres es conocer como borrar el árbol de carpetas te dejo este otro enlace ¿Cómo borrar un árbol de carpetas completo usando Python?

Hasta aquí la entrada de hoy, espero que esta entrada sobre cómo recorrer un árbol de carpetas usando Python te pueda ser de utilidad. ¿Qué te ha parecido esta entrada? ¿Conoces algún método alternativo? Me encantaría conocer los métodos que utilizas.

¡No olvides suscribirte a nuestro boletín!

¡No enviamos spam! Lee más en nuestra política de privacidad