Ir al contenido

Listar un Directorio en Python

En el artículo de hoy vamos a ver cómo podemos listar un directorio en Python para poder comprobar cual es el contenido del mismo. Y es que la sencillez que nos ofrece el lenguaje de programación Python lo hace realmente útil para poder desarrollar utilidades de gestión de fichero ya sea en máquinas locales o en servidores.

Cómo hemos visto en anteriores artículos como el de comprobar que existe un fichero en Python, el módulo os se convierte en relevante para poder operar dentro de nuestro sistema operativo.

Es por ello que lo primero que haremos será importar dicho módulo os:

from os import listdir, path

Si bien no vamos a importar todo el módulo, si no aquellos objetos que nos vayan a a ayudar para poder realizar nuestra tarea de listar un directorio en Python. Así que importaremos el módulo os.path para poder comprobar que existe el directorio que queremos listar y la función listdir() para poder realizar el listado del directorio.

Pero, vayamos por pasos, lo primero será comprobar que existe el directorio. Para ello nos podemos apoyar en lo que explicamos en el artículo comprobar que existe un fichero en Python ya que la validación es la misma ya sea un fichero o un directorio.

Es decir, nos apoyamos en la función exists() del módulo os.path . De la que si miramos su sintaxis podemos ver que recibe un path como parámetro.

os.path.exists(path)

La función exists() del módulo os.path nos devolverá un valor de true si existe un path o un false si no existe. Por lo que el código Python que añadiremos para comprobar que existe el directorio será el siguiente:

carpeta = "path/con/el/contenido/"
if (path.exists(carpeta)):
// Listar directorio
else:
print ("La carpeta no existe")

Uso de la función listdir para listar un Directorio en Python

Sección titulada «Uso de la función listdir para listar un Directorio en Python»

Una vez que hemos comprobado que existe el directorio del que queremos listar los ficheros pasaremos a focalizarnos en la función listdir() que nos ayudará para extraer los ficheros.

Si nos focalizamos en la sintaxis de la función listdir() veremos que lo que espera como parámetro es el path del cual queremos listar los ficheros:

os.listdir(path='.')

Además vemos que si no le pasamos un path lo hará del directorio dónde estemos ejecutando nuestro código en Python. El resultado que devuelve la función listdir() es una lista con el contenido del directorio, ya sean ficheros o directorios.

Por lo tanto utilizamos un bucle for para poder recorrer el contenido de lista devuelta por la función listdir() :

for fichero in listdir(carpeta):
print (fichero)

De esta forma ya habremos conseguido listar un directorio en Python. Es importante saber que en el caso de que el directorio contenga otros directorios, el contenido de los mismos no serán listados. Para ello deberemos de realizar un código que nos permita listar de forma concurrente el contenido de un directorio con Python. Pero eso dejamos que nos lo contéis en los comentarios y lo dejamos para un próximo artículo de Línea de Código.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Listar un Directorio en Python

Para poder listar un directorio en Python deberemos comprobar que este existe mediante una función exists y listarlo con la función listdir.

Descargar código