Python os.fstat() 方法



Python fstat() 方法返回与文件描述符关联的文件的信息。文件描述符是进程当前打开的文件的唯一标识符。以下是 fstat 方法返回的信息 -

  • st_dev - 包含文件的设备的 ID
  • st_ino − inode 编号
  • st_mode − 保护
  • st_nlink − 硬链接的数量
  • st_uid − 所有者的用户 ID
  • st_gid − 所有者的组 ID
  • st_rdev − 设备 ID(如果是特殊文件)
  • st_size - 总大小,以字节为单位
  • st_blksize − 文件系统 I/O 的块大小
  • st_blocks − 分配的区块数
  • st_atime - 上次访问的时间
  • st_mtime − 上次修改时间
  • st_ctime − 上次状态更改的时间

os.fstat() 方法的工作方式类似于 “os.stat()” 方法,但当您具有文件描述符而不是文件路径时,会使用该方法。

语法

fstat() 方法的语法如下 -


 os.fstat(fd)

参数

Python os.fstat() 方法接受单个参数 -

  • fd − 这是要为其返回系统信息的文件描述符。

返回值

Python os.fstat() 方法返回与文件描述符关联的文件的相关信息。

以下示例显示了 fstat() 方法的用法。结果将包含一个 “stat_result” 对象,其中包含有关文件的信息。


#!/usr/bin/python
import os, sys

# Open a file
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )

# Now get the touple
info = os.fstat(fd)
print ("Printing the Info of File :", info)

# Close opened file
os.close( fd)

当我们运行上述程序时,它会产生以下结果——

Printing the Info of File : os.stat_result(st_mode=33277, st_ino=1054984, st_dev=2051, st_nlink=1, st_uid=1000, st_gid=1000, st_size=0, st_atime=1713157516, st_mtime=1713157516, st_ctime=1713157517)

在以下示例中,我们使用 fstat() 方法显示给定文件的 UID 和 GID。


#!/usr/bin/python
import os, sys

# Open a file
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )
info = os.fstat(fd)

# Now get uid of the file
print ("UID of the file :%d" % info.st_uid)

# Now get gid of the file
print ("GID of the file :%d" % info.st_gid)

# Close opened file
os.close( fd)
print("File closed successfully!!")

在运行上述程序时,它将显示以下结果 -

UID of the file :1000
GID of the file :1000
File closed successfully!!