Module (53%)
Section (44%)

Рекурсивное создание директории

Функция 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


Code

import os

os.makedirs("my_first_directory/my_second_directory")
os.chdir("my_first_directory")
print(os.listdir())
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×