Python – Borrar un Archivo

Para borrar hay una función distinta según lo que borres: un archivo, una carpeta vacía o una carpeta con cosas dentro. Usar la que no toca da un error, y eso es bueno: borrar es lo único que no se deshace.

Un archivo

from pathlib import Path
f = Path("salida/temporal.txt")
f.write_text("x")

f.unlink()
print("borrado; existe:", f.exists())
salidaborrado; existe: False

unlink es el nombre técnico de borrar un archivo; con os es os.remove. Si el archivo no existe:

salidaFileNotFoundError: [Errno 2] No such file or directory: 'salida/temporal.txt'

Sin comprobar antes: missing_ok

f.unlink(missing_ok=True)

La versión anterior de esta página comprobaba con path.exists() y luego borraba. Funciona, pero entre la comprobación y el borrado otro programa puede borrarlo antes, y entonces falla igual. missing_ok=True hace las dos cosas en una: borra si está y no protesta si no está. Es lo que quieres para limpiar archivos temporales.

Carpetas

Si es…UsaSi no
una carpeta vacíaPath.rmdir()OSError: Directory not empty
una carpeta con contenidoshutil.rmtree(carpeta)—
un archivoPath.unlink()IsADirectoryError si es carpeta
import shutil
shutil.rmtree("copia_entera")
salidarmtree; existe: False
rmtree borra todo lo que cuelga de esa ruta, sin papelera y sin preguntar. Antes de pasarle una ruta que se construye con variables, imprímela. Un error en la variable y en lugar de proyecto/temporal borra proyecto.

Más información en inglés: Delete a file in Python.

Todo el código se ejecutó con Python 3.14 en un contenedor limpio antes de publicar esta página; las salidas están copiadas de esa ejecución.