Python – Crear directorio o carpeta

Un solo método, mkdir, y dos parámetros que deciden todo: exist_ok —¿pasa algo si ya existe?— y parents —¿creo también las carpetas de encima?—. Casi siempre quieres los dos.

Una carpeta

from pathlib import Path
d = Path("datos")
d.mkdir()

Si ya existe, FileExistsError. Si falta la carpeta de encima:

Path("falta/intermedia").mkdir()
salidaFileNotFoundError

Los dos parámetros

Path("datos").mkdir(exist_ok=True)                        # ya existe: no pasa nada
Path("datos/2026/octubre").mkdir(parents=True, exist_ok=True)   # crea lo que falte
salidaexist_ok=True: sin quejas
parents=True: True

Con los dos a la vez, mkdir hace lo que casi siempre quieres: asegurarse de que la carpeta está, exista ya o no. Es el equivalente de mkdir -p en la terminal, y se puede llamar al principio del programa sin preguntar antes.

La versión anterior capturaba OSError con un mensaje genérico —«La creación del directorio falló»—, que se traga el motivo real: si ya existía, si faltaba la de encima o si no había permiso. Con exist_ok y parents desaparecen los dos primeros casos, y el tercero conviene que llegue con su mensaje original.

Con os

import os
os.makedirs("datos/2026/noviembre", exist_ok=True)

os.makedirs crea la ruta entera, como parents=True. Cuidado con su hermano os.mkdir, que crea solo un nivel.

Carpetas temporales

import tempfile
with tempfile.TemporaryDirectory(prefix="decodigo-") as tmp:
    print("temporal:", Path(tmp).name.startswith("decodigo-"), "en", Path(tmp).parent)
print("y al salir ya no existe:", Path(tmp).exists())
salidatemporal: True en /tmp
y al salir ya no existe: False

El sistema elige dónde, con un nombre que no choca con nada, y la borra entera al salir del with. Para trabajos que generan archivos intermedios es lo más limpio: no queda basura aunque el programa falle a mitad.

Más información en inglés: Create directories or folders 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.