← retour aux snippets

pathlib.mkdir: créer des dossiers parents et ignorer l'existant

Créer un arborescence de dossiers de manière idempotente.

python filesystem #pathlib#mkdir#idempotent

objectif

Créer un arborescence de dossiers de manière idempotente.

code minimal

from pathlib import Path
from tempfile import TemporaryDirectory
with TemporaryDirectory() as tmp:
    p = Path(tmp) / "a" / "b"
    p.mkdir(parents=True, exist_ok=True)
    print(p.is_dir())  # attendu: True

utilisation

from pathlib import Path
with Path(".").absolute() as _:
    pass
print(True)

variante(s) utile(s)

from pathlib import Path, PurePosixPath
print(isinstance(PurePosixPath("a/b"), PurePosixPath))

notes

  • parents=True crée les niveaux manquants.
  • exist_ok=True ne lève pas si le dossier existe déjà.