os.stat_result
class os.stat_result
Объект, атрибуты которого примерно соответствуют членам структуры stat
. Он используется для результатов os.stat (), os.fstat () и os.lstat ().
Атрибуты:
st_mode - режим файла: тип файла и биты режима файла (разрешения)
st_ino - зависит от платформы, но если не равен нулю, однозначно идентифицирует файл для данного значения st_dev. Обычно:
номер inode в Unix
индекс файла в Windows
st_dev - идентификатор устройства, на котором находится этот файл
st_nlink - количество жестких ссылок
st_uid - идентификатор пользователя владельца файла
st_gid - идентификатор группы владельца файла
st_size - размер файла в байтах, если это обычный файл или символическая ссылка. Размер символической ссылки - это длина содержащегося в ней имени пути без завершающего нулевого байта.
Отметки времени:
st_atime - время последнего доступа в секундах
st_mtime - время последнего изменения содержимого в секундах
st_ctime - в зависимости от платформы:
время последнего изменения метаданных в Unix
время создания в Windows, выраженное в секундах
st_atime_ns - время последнего доступа, выраженное в наносекундах в виде целого числа
st_mtime_ns - время последней модификации содержимого, выраженное в наносекундах в виде целого числа
st_ctime_ns - в зависимости от платформы:
время последнего изменения метаданных в Unix
время создания в Windows, выраженное в наносекундах в виде целого числа
Точное значение и разрешение атрибутов st_atime, st_mtime и st_ctime зависят от операционной системы и файловой системы. Например, в системах Windows, использующих файловые системы FAT или FAT32, st_mtime имеет разрешение 2 секунды, а st_atime имеет разрешение только 1 день. Подробности см. в документации по вашей операционной системе.
Точно так же и для наносекундных атрибутов, хотя st_atime_ns, st_mtime_ns и st_ctime_ns всегда выражаются в наносекундах, многие системы не обеспечивают наносекундную точность. В системах, которые обеспечивают точность до наносекунд, объект с плавающей запятой, используемый для хранения st_atime, st_mtime и st_ctime, не может сохранить все это, и поэтому будет немного неточным. Если вам нужны точные отметки времени, вы всегда должны использовать st_atime_ns, st_mtime_ns и st_ctime_ns.
В некоторых системах Unix (например, Linux) также могут быть доступны следующие атрибуты:
st_blocks - количество 512-байтовых блоков, выделенных для файла. Это может быть меньше
st_size / 512
, если в файле есть пустые пространстваst_blksize - «предпочтительный» размер блока для эффективного ввода-вывода файловой системы. Запись в файл небольшими порциями может вызвать неэффективное чтение-изменение-перезапись
st_rdev - тип устройства, если это устройство является inode
st_flags - пользовательские флаги для файла
В других системах Unix (таких как FreeBSD) могут быть доступны следующие атрибуты (но могут быть заполнены только в том случае, если root пытается их использовать):
st_gen - номер поколения файла
st_birthtime - время создания файла
В Solaris и производных версиях также могут быть доступны следующие атрибуты:
st_fstype - строка, которая однозначно определяет тип файловой системы, содержащей файл
В системах Mac OS также могут быть доступны следующие атрибуты:
st_rsize - реальный размер файла
st_creator - создатель файла
st_type - тип файла
В системах Windows также доступны следующие атрибуты:
st_file_attributes - атрибуты файлов Windows: член
dwFileAttributes
структурыBY_HANDLE_FILE_INFORMATION
, возвращаемый GetFileInformationByHandle (). См. константыFILE_ATTRIBUTE_*
в модуле statst_reparse_tag - когда st_file_attributes имеет установленный
FILE_ATTRIBUTE_REPARSE_POINT
, это поле содержит тег, определяющий тип точки повторной обработки. См. константыIO_REPARSE_TAG_*
в модуле stat
Стандартный модуль stat определяет функции и константы, которые полезны для извлечения информации из структуры stat
. (В Windows некоторые элементы заполнены фиктивными значениями.)
Для обратной совместимости экземпляр stat_result также доступен как кортеж из не менее 10 целых чисел, дающих наиболее важные (и переносимые) члены структуры stat
, в порядке st_mode, st_ino, st_dev, st_nlink, st_uid, st_gid, st_size, st_atime, st_mtime, st_ctime. Некоторые реализации могут добавить больше элементов в конце. Для совместимости со старыми версиями Python доступ к stat_result как кортежу всегда возвращает целые числа.
Новое в версии 3.3: добавлены члены st_atime_ns, st_mtime_ns и st_ctime_ns.
Новое в версии 3.5: добавлен член st_file_attributes в Windows.
Изменено в версии 3.5: Windows теперь возвращает индекс файла как st_ino, если он доступен.
Новое в версии 3.7: Добавлен член st_fstype в Solaris и ее производные ОС.
Новое в версии 3.8: Добавлен член st_reparse_tag в Windows.
Изменено в версии 3.8: В Windows член st_mode теперь идентифицирует специальные файлы как S_IFCHR, S_IFIFO или S_IFBLK в зависимости от ситуации.
Last updated