Listar directorios con Python

Python es uno de los lenguajes de programación más sencillos en cuanto a su sintaxis; pero no deja de ser un lenguaje que se ha ganado su lugar a pulzo. El siguiente fragmento de código lista la jerarquía de directorios contenidos en el directorio actual de una manera muy sencilla, en tan sólo 8 líneas de código.

from os import walk

dirs = 0
for raiz, _, _ in walk("."):
    print("{0}".format(raiz))
    dirs += 1

print("\nSe han encontrado {0} directorios".format(dirs))

La primera línea realiza la importación de la función walk() desde el módulo os, ésta función sencillamente obtiene todos los nombres de archivos y directorios ubicados en un árbol de directorio actual, empezando por la raíz “.” ; y, produce una tupla de valores que deberán ser asignados a 3 variables.

dirs = 0
for raiz, _, _ in walk("."):
    print("{0}".format(raiz))
    dirs += 1

La variable dirs, que se inicializa con el valor de cero (0) en la primera linea, sera el contador de directorios y se incrementa por 1 con cada iteración del bucle for. El bucle for que le sigue a la variable va a iterar sobre una tupla de 3 valores que produce la función wal() en Python.

Estos 3 valores deben almacenarse lógicamente en 3 variables, la primera es un string que corresponde a la ruta del directorio desde la jerarquía, la llamaremos raiz; la segunda, corresponde a una lista de nombres de los subdirectorios en la variable raiz ignorando “.” y “..”, la llamaremos nombresdirs; y, por último, la tercera variable corresponde a una lista con todos los nombres de archivos en raiz, la llamaremos nomarchivos. 

En el bucle for hay dos signos “_”, estos signos se usan para ignorar los valores de las variables nombresdirs y nomarchivos ya que no las usaremos y sería innecesario abrir espacio en memoria para 2 variables sin uso.

print("\nSe han encontrado {0} directorios".format(dirs))

Por último, imprimimos el número de directorios encontrados en la jerarquía del directorio actual. Al ejecutar este pequeño fragmento de código, nos va a generar una salida como la siguiente:

listar directorios con python

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *