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

Получение информации о файле/каталоге средствами pathlib

Получить пользователя/группу владельца файла (каталога)

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

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

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

Содержание:


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'