Рекурсивное создание директории
Функция mkdir
очень полезна, но что, если Вам нужно создать другой каталог в каталоге, который Вы только что создали? Конечно, Вы можете перейти в созданный каталог и создать внутри него другой каталог, но, к счастью, модуль os предоставляет функцию под названием makedirs
, которая упрощает эту задачу.
Функция makedirs включает рекурсивное создание каталогов, что означает, что будут созданы все каталоги в пути. Давайте посмотрим на код в редакторе и проверим, как это работает на практике.
Код должен дать следующий результат:
['my_second_directory']
output
Код создает два каталога. Первый из них создается в текущем рабочем каталоге, а второй - в каталоге my_first_directory.
Вам не нужно переходить в каталог my_first_directory, чтобы создать каталог my_second_directory, потому что функция makedirs делает это за Вас. В приведенном выше примере мы переходим в каталог my_first_directory, чтобы показать, что команда makedirs создает подкаталог my_second_directory.
Для перемещения между каталогами Вы можете использовать функцию под названием chdir, которая изменяет текущий рабочий каталог на указанный путь. В качестве аргумента может использоваться любой относительный или абсолютный путь. В нашем примере мы передаем ему имя первого каталога.
ПРИМЕЧАНИЕ: эквивалентом функции makedirs в системах Unix является команда mkdir с флагом -p, в то время как в Windows просто команда mkdir с путем:
- Unix-подобные системы:
mkdir -p my_first_directory/my_second_directory
- Windows:
mkdir my_first_directory/my_second_directory