Описанные ниже методы позволяют различную информацию о файле или каталоге, включая их владельца - пользователя/группу средствами модуля pathlib
. Данные методы принадлежат экземпляру, созданному из класса Path()
.
Так как класс pathlib.Path()
наследуется от класса pathlib.PurePath()
, следовательно он поддерживает все операции по манипуляции с путями файловой системы.
Смотрите другие методы и свойства, доступные экземпляру класса Path()
модуля pathlib
.
os.stat
,os.lstat
,Path.stat(*, follow_symlinks=True)
:Метод Path.stat()
вернет объект os.stat_result
, содержащий информацию об пути path
, как это делает функция os.stat()
. Результат обновляется при каждом вызове этого метода.
Этот метод обычно следует по символическим ссылкам. Чтобы собрать информацию о символической ссылке, передайте аргумент follow_symlinks=False
или используйте Path.lstat()
.
Изменено в Python 3.10: добавлен аргумент follow_symlinks
.
>>> from pathlib import Path >>> p = Path('path.txt') >>> p.is_file() # True >>> p.stat().st_size # 24189 >>> p.stat().st_mtime # 1585069404.737516
Path.lstat()
:Метод Path.lstat()
работает также как метод Path.stat()
, только не следует символическим ссылкам. Другими словами, если путь path
указывает на символическую ссылку, то возвращается информация о символической ссылке, а не о ее цели.
Path.group()
:Метод Path.group()
вернет имя группы, владеющей файлом или каталогом, указанного в пути path
. Если gid
файла не найден в системной базе данных, то возникает исключение KeyError
.
>>> p = Path('some/to/mydir') >>> p.mkdir(parents=True) >>> p.group() # 'docs-python' >>> p.rmdir() >>> p = Path('myfile.ext') >>> p.touch(mode=0o644) >>> p.group() # 'docs-python' >>> p.unlink()
Изменено в Python 3.13: вызывает исключение
pathlib.UnsupportedOperation
(исключение также добавлено в Python 3.13) если модульgrp
недоступен. В предыдущих версиях вместо этого возникалNotImplementedError
.
Path.owner()
:Метод Path.owner()
вернет имя пользователя, владеющего файлом (каталогом). Если uid
файла (каталога) не найден в системной базе данных, то поднимает исключение KeyError
.
>>> p = Path('some/to/mydir') >>> p.mkdir(parents=True) >>> p.owner() # 'docs-python' >>> p.rmdir() >>> p = Path('myfile.ext') >>> p.touch(mode=0o644) >>> p.owner() # 'docs-python' >>> p.unlink()
Изменено в Python 3.13: вызывает исключение
pathlib.UnsupportedOperation
(исключение также добавлено в Python 3.13) если модульpwd
недоступен. В предыдущих версиях вместо этого возникалNotImplementedError
.
Path.readlink()
:Метод Path.readlink()
возвращает путь, на который указывает символическая ссылка, как это делает функция os.readlink()
:
Новое в Python 3.9.
>>> p = Path('mylink') >>> p.symlink_to('setup.py') >>> ff = p.readlink() >>> ff # PosixPath('setup.py') >>> str(ff) # 'setup.py'
Изменено в Python 3.13: Вызывает
pathlib.UnsupportedOperation
(исключение добавлено в Python 3.13), еслиos.readlink()
недоступен. В предыдущих версиях возникала ошибкаNotImplementedError
.