os.makedirs
Создаёт каталог вместе со всеми недостающими родительскими каталогами.
Python 3.13
os.makedirs(name, mode=0o777, exist_ok=False)Параметры
- namestr | PathLike
- Путь к каталогу, например data/2026/may.
- modeintнеобязательный
- Права доступа к последнему каталогу пути, по умолчанию 0o777.
- exist_okboolнеобязательный
- Если True, существующий каталог не считается ошибкой.
Возвращаемое значение
Ничего (None); если каталог уже есть и exist_ok=False, вызывает FileExistsError.
Примеры
Вложенные каталоги за один вызов
Python 3.13
import os
os.makedirs('data/2026/may', exist_ok=True)
print(os.path.exists('data/2026/may'))True
Ошибка без exist_ok
Python 3.13
import os
os.makedirs('logs', exist_ok=True)
try:
os.makedirs('logs')
except FileExistsError:
print('Already exists')Already exists
Подробности
Без exist_ok=True повторный запуск программы упадёт с FileExistsError. Для одного каталога без родителей есть os.mkdir.
