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!!
GID of the file :1000
File closed successfully!!