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
python_files_io.htm
Advertisements