Ir al contenido

Borrar una carpeta en Python

Para poder borrar una carpeta en Python deberemos de asegurarnos que la carpeta está vacía antes de proceder a su borrado. Es por ello que vamos a ver en este artículo el proceso que deberemos de seguir para poder conseguirlo.

Lo primero es tener claro cual es el directorio que queremos borrar y lo dejaremos almacenado en una variable.

carpeta = "temp/borrar"

Es una buena práctica el poder validar que el directorio existe para poder iniciar el borrado. Ya que si intentamos borrar un directorio que no existe nos dará error.

Es, en este punto, dónde podemos apoyarnos en el módulo os.path y, en concreto, con la función exists()

if (path.exists(carpeta)):

Ahora pasaremos a ver si la carpeta está vacía o contiene ficheros. Para ello tenemos que recorrer su contenido utilizando la función listdir() del módulo os.

for fichero in listdir(carpeta):
fichero = path.join(carpeta,fichero)
print (f"Vamos a borrar el fichero {fichero}")

Cuando vamos recorriendo el directorio iremos obteniendo los nombres de los ficheros, pero no el path entero que tienen. Es por ello que tenemos que recurrir nuevamente al módulo os.path para poder tener el path del directorio más el fichero con la función .join()

Esto es lo que hemos añadido dentro del bucle for que hemos creado para recorrer los ficheros.

Una vez que tenemos claros los ficheros que hay dentro del directorio lo que haremos será borrarlo. Para ello nos apoyamos en la función remove().

for fichero in listdir(carpeta):
fichero = path.join(carpeta,fichero)
remove(fichero)
print (f"Borrado el fichero {fichero}")

Función rmdir para borrar una carpeta en Python

Sección titulada «Función rmdir para borrar una carpeta en Python»

Ya vaciado el directorio podremos pasar a eliminar el directorio. Si para los ficheros utilizábamos la función remove() para borrar el directorio utilizamos la función rmdir().

rmdir(carpeta)
print (f"Borrada la carpeta {carpeta}")

Con esto ya habremos conseguido borrar una carpeta en Python. Si es verdad que estamos asumiendo que en la carpeta que queremos borrar no hay más directorios, solo contiene ficheros.

En el caso de que contenga más directorios habrá que hacerlo de forma recursiva. Nos puedes contar en comentarios como lo resolverías ya que tenemos diferentes formas y utilidades para poder hacerlo. Y en los artículos sobre programación en Pyhton de Línea de Código lo publicaremos a no mucho tardar.

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 Borrar una carpeta en Python

Utilización del módulo os y de sus funciones remove, listdir y rmdir para poder borrar una carpeta en Python que no contenga otras carpetas dentro.

Descargar código