os.mkdir() și os.makedirs() în Python

Fișiere și directoare (os) Python 3.0+ (exist_ok: 3.2+)

Creează un director sau un întreg șir de directoare imbricate.

Sintaxă
os.mkdir(cale, mode=0o777)
os.makedirs(cale, mode=0o777, exist_ok=False)

Ce face os.mkdir() și os.makedirs()

mkdir() creează un singur director; directorul părinte trebuie să existe. makedirs() creează și toate directoarele intermediare lipsă, iar cu exist_ok=True nu dă eroare dacă directorul există deja.

Permisiunile finale sunt mode din care se scad biții din umask.

Parametri

Parametru Descriere
cale Directorul creat.
mode Permisiunile (implicit 0o777, minus umask).
exist_ok Pentru makedirs: fără eroare dacă există.

Ce returnează

None.

Exemple

Exemplul 1: Un director și o structură întreagă

import os
os.mkdir("rapoarte")
os.makedirs("date/2026/10", exist_ok=True)
os.makedirs("date/2026/10", exist_ok=True)
print(os.path.isdir("date/2026/10"))
for cale in ["rapoarte", "x/y"]:
    try:
        os.mkdir(cale)
    except OSError as e:
        print(type(e).__name__, cale)

Rezultat

True
FileExistsError rapoarte
FileNotFoundError x/y

Greșeli frecvente

  • Folosești mkdir pentru o cale cu mai multe niveluri inexistente și primești FileNotFoundError. Folosește makedirs.

Comenzi înrudite