07 Июл 2023
2 мин
158

Функциональность «mkdir -p» в Python

Иногда возникает задача создать новые директории в процессе работы с файловой системой. В Unix-подобных системах есть удобная команда mkdir -p, которая

Содержание

Иногда возникает задача создать новые директории в процессе работы с файловой системой. В Unix-подобных системах есть удобная команда mkdir -p, которая создает новую директорию и все необходимые родительские директории, если они еще не существуют.

Например, если нужно создать следующую структуру директорий:

/home/user/documents/work/project

и только директория /home/user существует на данный момент, то команда mkdir -p /home/user/documents/work/project удобно создаст все промежуточные директории (documents, work) и конечную директорию project.

Однако, как получить такую же функциональность в Python, не прибегая к системным вызовам? Решение этого вопроса довольно простое, благодаря встроенному модулю os.

Модуль os в Python предоставляет множество функций для работы с операционной системой, включая работу с файловой системой. Для создания директории (или директорий) в Python можно использовать функцию os.makedirs().

Вот простой пример использования:

import os

os.makedirs("/home/user/documents/work/project", exist_ok=True)

В данном примере функция os.makedirs() принимает два аргумента: путь к создаваемой директории и аргумент exist_ok. Если exist_ok равен True, то Python будет игнорировать ошибки, связанные с тем, что директории уже существуют, что аналогично поведению команды mkdir -p. В противном случае, если директория уже существует, будет выброшено исключение FileExistsError.

Таким образом, функция os.makedirs() предоставляет функциональность, аналогичную mkdir -p, и позволяет удобно создавать директории прямо из Python кода.

Содержание

Добавить комментарий

Определи профессию по рисунку