Сообщить об ошибке.

Проверить наличие файла/каталога/ссылки и т.д. средствами pathlib в Python.

Определение существования пути средствами pathlib.

Описанные ниже методы позволяют определить существования пути, а так же тип указанного пути в файловой системе. Данные методы принадлежат экземпляру, созданному из класса Path().

Так как класс pathlib.Path() наследуется от класса pathlib.PurePath(), следовательно он поддерживает все операции по манипуляции с путями файловой системы.

Смотрите другие методы и свойства, доступные экземпляру класса Path() модуля pathlib.

Содержание:


Path.exists():

Метод Path.exists() проверяет существование пути path файловой системы. Другими словами, указывает ли путь к существующему файлу или каталогу:

>>> from pathlib import Path
>>> Path('.').exists()
# True
>>> Path('setup.py').exists()
# True
>>> Path('/etc').exists()
# True
>>> Path('nonexistentfile').exists()
# False

Примечание. Если путь path указывает на символическую ссылку, то метод Path.exists() возвращает информацию о том, указывает ли символическая ссылка на существующий файл или каталог.

Path.is_dir():

Метод Path.is_dir() вернет True, если путь path указывает на каталог, или символическую ссылку, указывающую на каталог. Метод вернет False если путь указывает на файл другого типа.

Значение False также возвращается, если путь не существует или является неработающей символической ссылкой. Метод может вернуть False при отсутствии доступа к директории или символической ссылке, указывающей на директорию.

>>> from pathlib import Path
>>> Path('/some/to/directory').is_dir()
# True
>>> Path('/some/to/file.ext').is_dir()
# False
>>> Path('/some/to/symlink').is_dir()
# False

Path.is_file():

Метод Path.is_file() вернет True, если путь path указывает на файл или символическую ссылку, указывающую на обычный файл. Метод вернет False, если путь указывает на файл другого типа.

Значение False также возвращается, если путь не существует или является неработающей символической ссылкой. Метод может вернуть False при отсутствии доступа к файлу или символической ссылке, указывающей на файл.

>>> from pathlib import Path
>>> Path('/some/to/directory').is_file()
# False
>>> Path('/some/to/file.ext').is_file()
# True
>>> Path('/some/to/symlink').is_file()
# False

Path.is_mount():

Метод Path.is_mount() вернет True, если путь path является точкой монтирования в файловой системе, где смонтирована другая файловая система. В POSIX функция проверяет, находится ли родительский путь path/.. на устройстве, отличном от path или path/.. и path указывают на однy и ту же ноду i-node на одном устройстве - это должно определять точки монтирования для всех вариантов Unix и POSIX.

Не реализовано в Windows.

>>> from pathlib import Path
>>> Path('/some/to/directory').is_mount()
# False
>>> Path('/some/to/mount').is_mount()
# True
>>> Path('/some/to/file.ext').is_mount()
# False

Path.is_symlink():

Метод Path.is_symlink() вернет True, если путь path указывает на символическую ссылку, иначе вернет False.

Значение False также возвращается, если путь path не существует. Метод может вернуть False при отсутствии доступа к символической ссылке.

>>> from pathlib import Path
>>> Path('/some/to/directory').is_symlink()
# False
>>> Path('/some/to/file.ext').is_symlink()
# False
>>> Path('/some/to/symlink').is_symlink()
# True

Path.is_socket():

Метод Path.is_socket() вернет True, если путь path указывает на сокет Unix или символическую ссылку, указывающую на сокет Unix. Метод вернет False, если путь указывает на файл другого типа.

Значение False также возвращается, если путь не существует или является неработающей символической ссылкой. Метод может вернуть False при отсутствии доступа к сокету Unix или символической ссылке, указывающей на сокет.

Path.is_fifo():

Метод Path.is_fifo() вернет True, если путь path указывает на FIFO или символическую ссылку, указывающую на FIFO. Метод вернет False, если путь указывает на файл другого типа.

Значение False также возвращается, если путь не существует или является неработающей символической ссылкой. Метод может вернуть False при отсутствии доступа к FIFO или символической ссылке, указывающей на FIFO.

Path.is_block_device():

Метод Path.is_block_device() вернет True, если путь path указывает на блочное устройство или символическую ссылку, указывающую на блочное устройство. Метод вернет False, если путь указывает на файл другого типа.

Значение False также возвращается, если путь не существует или является неработающей символической ссылкой. Метод может вернуть False при отсутствии доступа к блочному устройству или символической ссылке, указывающей на блочное устройство.

Path.is_char_device():

Метод Path.is_char_device() вернет True, если путь path указывает на символьное устройство или символическую ссылку, указывающую на символьное устройство. Метод вернет False, если путь указывает на файл другого типа.

Значение False также возвращается, если путь не существует или является неработающей символической ссылкой. Метод может вернуть False при отсутствии доступа к символьному устройству или символической ссылке, указывающей на символьное устройство.