В этой статье показано, как в Python можно создать каталог и все отсутствующие родительские элементы этого каталога.
Использовать pathlib.Path.mkdir
Начиная с Python 3.5 лучший и самый простой способ создать вложенный каталог — использовать pathlib.Path.mkdir :
from pathlib import Path Path("/my/directory").mkdir(parents=True, exist_ok=True)
Если для родителей задано значение true, все отсутствующие родительские элементы этого пути создаются по мере необходимости (убедитесь, что у вас есть необходимые разрешения для этого пути).
Если parent имеет значение false (по умолчанию), отсутствующий родитель вызывает FileNotFoundError .
Если exists_ok имеет значение false (по умолчанию), FileExistsError возникает, если целевой каталог уже существует.
Если для exists_ok установлено значение true, исключения FileExistsError будут игнорироваться, но только в том случае, если последний компонент пути не является существующим файлом, не являющимся каталогом.
Использовать os.path.makedirs
Для более старых версий Python os.path.makedirs можно использовать вместе с os.path.exists :
import os if not os.path.exists(directory): os.makedirs(directory)
Имейте в виду, что в редких случаях здесь может возникнуть состояние гонки — если каталог создается между вызовами и, os.path.exists
произойдет сбой с OSError . Более подробную информацию об этом можно найти здесь os.makedirsos.makedirs
Используйте Pathlib, чтобы проверить, существует ли файл
Модуль pathlib также очень полезен для проверки существования файла или каталога в Python.