mkdir() может создать отдельный подкаталог и будет генерировать исключение, если указаны промежуточные каталоги, которые не существуют.
Любой может быть использован для создания одного каталога "leaf" (dirA):
os.mkdir('dirA')
os.makedirs('dirA')
Но makedirs должны использоваться для создания "ветвей":
os.makedirs('dirA/dirB') будет работать [вся структура создана]
mkdir может работать здесь, если dirA уже существует, но если он не выдает ошибку.
Обратите внимание, что в отличие от mkdir -p в bash либо произойдет сбой, если лист уже существует.
Ответ 2
(Не могу комментировать, просто добавьте ответ NPE.)
В Python3 os.makedirs имеет параметр по умолчанию exist_ok=False.
Если вы установите его на True, то os.makedirs будет не выбрасывать любое исключение, если лист существует.
(Пока os.mkdir не имеет этого параметра.)
Точно так же:
os.makedirs('dirA', exist_ok=True)
P.S.
Вы можете ввести ? перед именем метода в оболочке IPython, чтобы быстро просмотреть документацию.
например:.
>>> import os
>>> ? os.makedirs
Ответ 3
os.makedirs - это функция Python,
mkdir - это функция bash unix.