Описанные ниже методы позволяют определить существования пути, а так же тип указанного пути в файловой системе. Данные методы принадлежат экземпляру, созданному из класса Path()
.
Так как класс pathlib.Path()
наследуется от класса pathlib.PurePath()
, следовательно он поддерживает все операции по манипуляции с путями файловой системы.
Смотрите другие методы и свойства, доступные экземпляру класса Path()
модуля pathlib
.
Path.exists(*, follow_symlinks=True)
:Метод Path.exists()
проверяет существование пути path
файловой системы. Другими словами, указывает ли путь к существующему файлу или каталогу.
Этот метод обычно следует по символическим ссылкам. Для проверки существования символической ссылки, а не конечного файла, нужно добавить аргумент follow_symlinks=False
(добавлен в Python 3.12).
>>> from pathlib import Path >>> Path('.').exists() # True >>> Path('setup.py').exists() # True >>> Path('/etc').exists() # True >>> Path('nonexistentfile').exists() # False
Примечание. Если путь path
указывает на символическую ссылку, то метод Path.exists()
возвращает информацию о том, указывает ли символическая ссылка на существующий файл или каталог.
Изменено в Python 3.12: добавлен аргумент
follow_symlinks
.
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_junction()
:Новое в версии Python 3.12.
Метод Path.is_junction()
вернет True
, если путь Path
указывает на соединение, и значение False
для любого другого типа файла.
В настоящее время только Windows поддерживает соединения.
Path.is_mount()
:Метод Path.is_mount()
вернет True
, если путь path
является точкой монтирования в файловой системе, где смонтирована другая файловая система.
В POSIX метод проверяет, находится ли родительский путь path/..
на устройстве, отличном от path
или path/..
и path
указывают на однy и ту же ноду i-node
на одном и том же устройстве - это должно определять точки монтирования для всех вариантов Unix и POSIX.
В Windows точкой монтирования считается корневая буква диска (например, c:\
), общий ресурс UNC (например, \\server\share
) или подключенный каталог файловой системы.
Изменено в Python 3.12: добавлена поддержка 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
при отсутствии доступа к символьному устройству или символической ссылке, указывающей на символьное устройство.