os.makedirs(path, exist_ok=True)
. Параметр exist_ok=True
позволяет избежать ошибки, если директория уже существует.
Функция os.makedirs()
в Python предназначена именно для создания директории и всех необходимых промежуточных папок, если их не существует.
Ее использование выглядит следующим образом:
import os
# Укажите путь к директории, которую хотите создать
path = "path/to/new/directory"
try:
# Используем os.makedirs() для создания директории вместе со всеми промежуточными папками
os.makedirs(path)
print(f"Директория '{path}' успешно создана.")
except FileExistsError:
print(f"Директория '{path}' уже существует.")
except OSError as error:
print(f"Не удалось создать директорию '{path}'. Ошибка: {error}")
Разъяснения:
import os
: Импортирует модуль os
, который предоставляет функции для взаимодействия с операционной системой, включая создание директорий.path = "path/to/new/directory"
: Задает путь к директории, которую нужно создать. Если папки path
, to
и new
не существуют, os.makedirs()
их создаст.os.makedirs(path)
: Основная функция. Она создает директорию по указанному пути. Если какая-либо из родительских директорий не существует, os.makedirs()
создаст и их. Параметр exist_ok=True
(не указан в примере, но важен) можно добавить, чтобы избежать исключения FileExistsError
, если директория уже существует.try...except
: Используется для обработки возможных ошибок.
FileExistsError
: Возникает, если директория уже существует и не указан параметр exist_ok=True
.OSError
: Возникает, если произошла какая-либо другая ошибка при создании директории (например, недостаточно прав доступа).Важные моменты:
exist_ok=True
: Если вы не хотите, чтобы программа завершалась с ошибкой, если директория уже существует, используйте os.makedirs(path, exist_ok=True)
.Пример с exist_ok=True
:
import os
path = "path/to/new/directory"
try:
os.makedirs(path, exist_ok=True) # Не вызовет ошибку, если директория существует
print(f"Директория '{path}' успешно создана или уже существовала.")
except OSError as error:
print(f"Не удалось создать директорию '{path}'. Ошибка: {error}")