Python | os.fstat() method
Last Updated :
11 Jul, 2025
OS module in Python provides functions for interacting with the operating system. OS comes under Python’s standard utility modules. This module provides a portable way of using operating system dependent functionality.
os.fstat() method in Python is used to get the status of a file descriptor.
A file descriptor is small integer value that corresponds to a file that has been opened by the current process.
A File descriptor indicates a resource and act as handle to perform various lower level I/O operations like read, write, send etc.
For Example: Standard input is usually file descriptor with value 0, standard output is usually file descriptor with value 1 and standard error is usually file descriptor with value 2.
Further files opened by the current process will get the value 3, 4, 5 an so on.
os.fstat() method is equivalent to
os.stat(fd) method.
Syntax: os.fstat(fd)
Parameter:
fd: A file descriptor.
Return Type: This method returns a stat_result object of class os which represents the status of the given file descriptor.
The returned 'stat_result' object is a tuple which has following named attributes:
- st_mode: It represents file type and file mode bits (permissions).
- st_ino: It represents the inode number on Unix and the file index on Windows platform.
- st_dev: It represents the identifier of the device on which this file resides.
- st_nlink: It represents the number of hard links.
- st_uid: It represents the user identifier of the file owner.
- st_gid: It represents the group identifier of the file owner.
- st_size: It represents the size of the file in bytes.
- st_atime: It represents the time of most recent access. It is expressed in seconds.
- st_mtime: It represents the time of most recent content modification. It is expressed in seconds.
- st_ctime: It represents the time of most recent metadata change on Unix and creation time on Windows. It is expressed in seconds.
- st_atime_ns: It is same as st_atime but the time is expressed in nanoseconds as an integer.
- st_mtime_ns: It is same as st_mtime but the time is expressed in nanoseconds as an integer.
- st_ctime_ns: It is same as st_ctime but the time is expressed in nanoseconds as an integer.
- st_blocks: It represents the number of 512-byte blocks allocated for file.
- st_rdev: It represents the type of device, if an inode device.
- st_flags: It represents the user defined flags for file.
Note: Some attributes are platform dependent and are subject to availability.
Code: Use of os.fstat() method to get the status of a file descriptor
Python3
# Python program to explain os.fstat() method
# importing os module
import os
# Path
path = "/home / ihritik / Desktop / file1.txt"
# open the file represented by
# the above given path and get
# the file descriptor associated
# with it using os.open() method
fd = os.open(path, os.O_RDONLY)
# Get the status of the
# file descriptor using
# os.fstat() method
status = os.fstat(fd)
# Print the status of
# the file descriptor
print(status)
# close the file descriptor
os.close(fd)
Output:
os.stat_result(st_mode=33188, st_ino=801111, st_dev=2056, st_nlink=1, st_uid=1000,
st_gid=1000, st_size=6550, st_atime=1560377051, st_mtime=1560377051, st_ctime=1560377051)
Explore
Python Fundamentals
Python Data Structures
Advanced Python
Data Science with Python
Web Development with Python
Python Practice