class os.stat_result
Object whose attributes correspond roughly to the members of the stat structure. It is used for the result of os.stat(), os.fstat() and os.lstat().
Attributes:
-
st_mode -
File mode: file type and file mode bits (permissions).
-
st_ino -
Inode number.
-
st_dev -
Identifier of the device on which this file resides.
-
st_nlink -
Number of hard links.
-
st_uid -
User identifier of the file owner.
-
st_gid -
Group identifier of the file owner.
-
st_size -
Size of the file in bytes, if it is a regular file or a symbolic link. The size of a symbolic link is the length of the pathname it contains, without a terminating null byte.
Timestamps:
-
st_atime -
Time of most recent access expressed in seconds.
-
st_mtime -
Time of most recent content modification expressed in seconds.
-
st_ctime -
Platform dependent:
- the time of most recent metadata change on Unix,
- the time of creation on Windows, expressed in seconds.
-
st_atime_ns -
Time of most recent access expressed in nanoseconds as an integer.
-
st_mtime_ns -
Time of most recent content modification expressed in nanoseconds as an integer.
-
st_ctime_ns -
Platform dependent:
- the time of most recent metadata change on Unix,
- the time of creation on Windows, expressed in nanoseconds as an integer.
See also the stat_float_times() function.
Note
The exact meaning and resolution of the st_atime, st_mtime, and st_ctime attributes depend on the operating system and the file system. For example, on Windows systems using the FAT or FAT32 file systems, st_mtime has 2-second resolution, and st_atime has only 1-day resolution. See your operating system documentation for details.
Similarly, although st_atime_ns, st_mtime_ns, and st_ctime_ns are always expressed in nanoseconds, many systems do not provide nanosecond precision. On systems that do provide nanosecond precision, the floating-point object used to store st_atime, st_mtime, and st_ctime cannot preserve all of it, and as such will be slightly inexact. If you need the exact timestamps you should always use st_atime_ns, st_mtime_ns, and st_ctime_ns.
On some Unix systems (such as Linux), the following attributes may also be available:
-
st_blocks -
Number of 512-byte blocks allocated for file. This may be smaller than
st_size/512 when the file has holes.
-
st_blksize -
“Preferred” blocksize for efficient file system I/O. Writing to a file in smaller chunks may cause an inefficient read-modify-rewrite.
-
st_rdev -
Type of device if an inode device.
-
st_flags -
User defined flags for file.
On other Unix systems (such as FreeBSD), the following attributes may be available (but may be only filled out if root tries to use them):
-
st_gen -
File generation number.
-
st_birthtime -
Time of file creation.
On Mac OS systems, the following attributes may also be available:
-
st_rsize -
Real size of the file.
-
st_creator -
Creator of the file.
-
st_type -
File type.
On Windows systems, the following attribute is also available:
-
st_file_attributes -
Windows file attributes:
dwFileAttributesmember of theBY_HANDLE_FILE_INFORMATIONstructure returned byGetFileInformationByHandle(). See theFILE_ATTRIBUTE_*constants in thestatmodule.
The standard module stat defines functions and constants that are useful for extracting information from a stat structure. (On Windows, some items are filled with dummy values.)
For backward compatibility, a stat_result instance is also accessible as a tuple of at least 10 integers giving the most important (and portable) members of the stat structure, in the order st_mode, st_ino, st_dev, st_nlink, st_uid, st_gid, st_size, st_atime, st_mtime, st_ctime. More items may be added at the end by some implementations. For compatibility with older Python versions, accessing stat_result as a tuple always returns integers.
New in version 3.3: Added the st_atime_ns, st_mtime_ns, and st_ctime_ns members.
New in version 3.5: Added the st_file_attributes member on Windows.
Please login to continue.