Python os.lstat() Method
The Python os.lstat() method is used to retrieve data about a file or file descriptor. This is an alias for fstat() on platforms that do not support symbolic links, such as Windows.
Unlike "os.stat()" method, the os.lstat() does not follow symbolic links. However, both methods are used to get the status of file descriptor.
Here is the structure returned by lstat method −
st_dev − ID of device containing file
st_ino − inode number
st_mode − protection
st_nlink − number of hard links
st_uid − user ID of owner
st_gid − group ID of owner
st_rdev − device ID (if special file)
st_size − total size, in bytes
st_blksize − blocksize for filesystem I/O
st_blocks − number of blocks allocated
st_atime − time of last access
st_mtime − time of last modification
st_ctime − time of last status change
Syntax
Following is the syntax for Python lstat() method −
os.lstat(path)
Parameters
The Python lstat() method accepts a single parameter −
path − This is the file for which information would be returned.
Return Value
The Python lstat() method returns "stat_result" object which represents system configuration information.
Example
The following example shows the usage of lstat() method. Here, we are retrieving the system configuration information about a file descriptor.
import os, sys
# Open a file
path = "newFile.txt"
fd = os.open( path, os.O_RDWR|os.O_CREAT )
# Now get the touple
info = os.lstat(path)
print ("File Info :", info)
# Close opened file
os.close( fd )
print("File closed successfully")
When we run above program, it produces following result −
File Info : os.stat_result(st_mode=33204, st_ino=1077520, st_dev=2051, st_nlink=1, st_uid=0, st_gid=1000, st_size=0, st_atime=1712293621, st_mtime=1712293621, st_ctime=1712294859) File closed successfully
Example
The following example illustrates how to access system configuration information about a file descriptor using the attributes of "stat_result" object.
import os
# Using lstat() to get the status of file
fileStat = os.lstat("foo.txt")
# Accessing the attributes of the file
print(f"File Size: {fileStat.st_size} bytes")
print(f"Last Modified Time: {fileStat.st_mtime}")
print(f"Permissions: {fileStat.st_mode}")
print ("UID of the file :%d" % fileStat.st_uid)
print ("GID of the file :%d" % fileStat.st_gid)
On running the above program, it shows the below result −
File Size: 8 bytes Last Modified Time: 1713241356.804322 Permissions: 33277 UID of the file :500 GID of the file :500