import os stat_result = os.stat(path, *, dir_fd=None, follow_symlinks=True)
path
- путь до файла строка или bytes,dir_fd=None
- дескриптор каталога,follow_symlinks=True
- bool, переходить ли по символическим ссылкам.os.stat_result
Функция stat()
модуля os
получает статистическую информацию файла или дескриптора файла. Выполняет эквивалент системного вызова stat()
по заданному пути. Путь path
может быть указан в виде строки или bytes, переданных прямо или косвенно через интерфейс os.PathLike
или как дескриптор открытого файла. Функция stat()
вернет объект os.stat_result
.
Функция os.lstat()
эквивалентна вызову функции os.stat()
с установленным аргументом follow_symlinks=False
, например os.stat(path, dir_fd=dir_fd, follow_symlinks=False)
.
Функция os.stat()
обычно переходит по символическим ссылкам к итоговому каталогу, чтобы получить информацию о символической ссылке добавьте аргумент follow_symlinks=False
или используйте функцию os.lstat()
.
Функция stat()
может поддерживать пути относительно дескрипторов каталогов dir_fd
и не следовать символическим ссылкам follow_symlinks=None
.
Функция oc.lchown()
эквивалентна вызову функции oc.chown()
с установленным аргументом follow_symlinks=False
, например os.chown(path, uid, gid, follow_symlinks=False)
.
В Windows передача follow_symlinks=False
отключит следование по всем точкам повторной обработки, включая символические ссылки и ссылки каталогов. Другие типы точек повторной обработки, которые не похожи на ссылки или которые операционная система не может выполнить, будут открыты напрямую. При переходе по цепочке из нескольких ссылок это может привести к возврату исходной ссылки, а не ссылки, которая помешала полному обходу. Чтобы получить результаты статистики для окончательного пути в этом случае, используйте функцию os.path.realpath(), чтобы максимально разрешить имя пути и вызовите os.lstat()
. Это не относится к битым символическим ссылкам или точкам соединения, которые вызовут обычные исключения.
>>> import os >>> statinfo = os.stat('somefile.txt') >>> statinfo os.stat_result(st_mode=33188, st_ino=7876932, st_dev=234881026, st_nlink=1, st_uid=501, st_gid=501, st_size=264, st_atime=1297230295, st_mtime=1297230027, st_ctime=1297230027) >>> statinfo.st_size 264