Описанные ниже методы позволяют различную информацию о файле или каталоге, включая их владельца - пользователя/группу средствами модуля 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()
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()
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'