Python os.fstat()
Python中的os.fstat()方法用于获取文件描述符的状态。
文件描述符是一个小整数值,对应于当前进程已打开的文件。
文件描述符表示一种资源,并充当句柄来执行各种较低级的I/O操作,如读、写、发送等。
例如:标准输入通常是值为0的文件描述符,标准输出通常是值为1的文件描述符,标准错误通常是值为2的文件描述符。
当前进程打开的其他文件将获得值3、4、5等等。
os.fstat()方法相当于os.stat(fd)方法。
语法:os.fstat(fd)
参数:
fd:文件描述符。
返回类型:此方法返回类os的stat_result对象,该对象表示给定文件描述符的状态。
返回的’ stat_result ‘对象是一个元组,它有以下命名属性:
- st_mode:表示文件类型和文件模式位(权限)。
- st_ino:它表示Unix上的inode编号和Windows平台上的文件索引。
- st_dev:它表示该文件所在设备的标识符。
- st_nlink:表示硬链接的数量。
- st_uid:表示文件所有者的用户标识符。
- st_gid:表示文件所有者的组标识符。
- st_size:以字节为单位表示文件的大小。
- st_atime:表示最近访问的时间。它的单位是秒。
- st_mtime:表示最近的内容修改时间。它的单位是秒。
- st_ctime:表示Unix上最近一次元数据更改的时间,以及Windows上的创建时间。它的单位是秒。
- st_atime_ns:与st_atime相同,但时间以整数形式表示,单位为纳秒。
- st_mtime_ns:与st_mtime相同,但时间是整数形式,以纳秒为单位。
- st_ctime_ns:与st_ctime相同,但时间是以纳秒为单位的整数。
- st_blocks:它表示为文件分配的512字节块的数量。
- st_rdev:如果是inode设备,则表示设备的类型。
- st_flags:表示用户定义的文件标志。
注意:有些属性是平台相关的,并且取决于可用性。
示例1
使用os.fstat()方法获取文件描述符的状态
# 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)
输出:
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)