Создание директорий в Python
Модуль os предоставляет функцию под названием mkdir, которая, как и команда mkdir в Unix и Windows, позволяет Вам создавать каталог. Для функции mkdir требуется путь, который может быть относительным или абсолютным. Напомним, как выглядят оба пути на практике.:
- my_first_directory - это относительный путь, по которому будет создан каталог my_first_directory в текущем рабочем каталоге;
- ./my_first_directory - это относительный путь, который явно указывает на текущий рабочий каталог. Он имеет тот же эффект, что и путь выше;
- ../my_first_directory - это относительный путь, по которому будет создан каталог my_first_directory в родительском каталоге текущего рабочего каталога;
- /python/my_first_directory - это абсолютный путь, по которому будет создан каталог my_first_directory, который, в свою очередь, находится в каталоге python в корневой каталог.
Посмотрите код в редакторе. Он показывает пример того, как создать каталог my_first_directory, используя относительный путь. Это простейший вариант относительного пути, который состоит из передачи только имени каталога.
Если Вы протестируете здесь свой код, он выведет только что созданный каталог ['my_first_directory']
(и все содержимое текущего рабочего каталога).
Функция mkdir создает каталог по указанному пути. Обратите внимание, что запуск программы дважды вызовет ошибку FileExistsError.
Это означает, что мы не можем создать каталог, если он уже существует. В дополнение к аргументу пути функция mkdir может дополнительно принимать аргумент mode, который определяет права доступа к каталогу. Однако в некоторых системах аргумент mode игнорируется.
Чтобы изменить права доступа к каталогу, мы рекомендуем функцию chmod, которая работает аналогично команде chmod в системах Unix. Дополнительную информацию об этом можно найти в документации.
В приведенном выше примере используется другая функция модуля os с именем listdir. Функция listdir возвращает список, содержащий имена файлов и каталогов, которые находятся в пути, переданном в качестве аргумента.
Если ей не передано никаких аргументов, будет использоваться текущий рабочий каталог (как в примере выше). Важно, чтобы результат функции listdir не содержал записей '.' и '..', которые отображаются, например, при использовании команды ls -a в системах Unix.
ПРИМЕЧАНИЕ: И в Windows, и в Unix есть команда mkdir, для которой требуется путь к каталогу. Эквивалентом приведенного выше кода, который создает каталог my_first_directory, является команда mkdir my_first_directory.