Python:
Проверка существования директории
Как это сделать:
Python упрощает проверку директории за счет использования модулей os
и pathlib
:
Использование os.path
:
import os
# Проверяем наличие директории
if os.path.isdir("/path/to/directory"):
print("Директория существует.")
else:
print("Директории не существует.")
Использование pathlib
:
from pathlib import Path
# Проверяем наличие директории
directory = Path("/path/to/directory")
if directory.is_dir():
print("Директория существует.")
else:
print("Директории не существует.")
Пример вывода:
Директория существует.
или
Директории не существует.
Глубже в тему:
Исторически, в Python для операций с файловой системой использовался модуль os
. Однако os.path.isdir()
был фактическим стандартом для проверки директорий. Проблема заключалась в том, что os.path
работал со строками путей, что могло быть неудобно.
На смену пришел более современный модуль pathlib
, представленный в Python 3.4. Он использует объектно-ориентированные пути, делая код более читабельным и лаконичным. Теперь у вас есть Path.is_dir()
, метод, который не только упрощает ваш код, но и есть что-то приятное в цепочке вызовов методов объекта Path.
Если эти методы возвращают False
для несуществующей директории, это может означать две вещи: либо директории действительно нет, либо вашей программе не хватает разрешений, чтобы ее видеть.
Смотрите также:
- Документация модуля
os
: https://docs.python.org/3/library/os.html - Документация модуля
pathlib
: https://docs.python.org/3/library/pathlib.html - Разрешения файловой системы в Python: https://docs.python.org/3/library/os.html#os.access