все Python 3osфункция
os.makedirs
os — каталоги
Рекурсивно создаёт каталог и все промежуточные родительские.
Синтаксис
os.makedirs(name, mode=0o777, exist_ok=False)
exist_ok=True гасит ошибку, только если на месте уже каталог: обычный файл с тем же именем всё равно даст FileExistsError. Это безопасная замена гонке if not exists: makedirs. Параметр mode применяется только к последнему каталогу, промежуточные создаются с правами по umask. Документация предупреждает: компоненты '..' в создаваемой части пути сбивают функцию с толку.
Примеры
import os
base = 'makedirs_demo'
d = os.path.join(base, 'a', 'b')
os.makedirs(d)
print(os.path.isdir(d)) # → True
os.removedirs(d)
os.makedirs('a/b/c', exist_ok=True) # → создаёт вложенные папки
os.makedirs('new_dir', exist_ok=True) # → не ошибка если папка уже есть
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности