概述
os.fstat()
方法可以获取文件描述符 fd
对应文件的状态信息。与 os.stat()
不同之处在于, os.fstat()
方法获取的是一个打开文件的状态而不是一个文件名的状态。
语法
os.fstat(fd)
参数
fd
: 打开文件的文件描述符
返回值
返回文件描述符 fd
打开文件的状态。
实例
以下是一个示例,展示如何使用 os.fstat()
方法获取已打开文件的状态:
import os
# 打开文件
file = open('test.txt', 'r')
# 获取文件描述符
fd = file.fileno()
# 获取文件状态
stat = os.fstat(fd)
print('文件类型: ', stat.st_mode)
print('访问时间: ', stat.st_atime)
print('修改时间: ', stat.st_mtime)
print('文件大小: ', stat.st_size)
# 关闭文件
file.close()
输出:
文件类型: 33206
访问时间: 1591230456
修改时间: 1591231112
文件大小: 20
在上面的示例中,我们首先打开了 test.txt
文件,然后使用 file.fileno()
方法获取文件的文件描述符 fd
,最后使用 os.fstat(fd)
方法获取文件的状态信息。我们可以通过访问 stat
对象的属性来获取文件的不同信息,例如文件大小、访问时间和修改时间等。最后,我们需要调用 file.close()
方法关闭文件。
结论
通过使用 os.fstat()
方法,我们可以获取已打开文件的状态信息。这个方法很有用,尤其是当我们需要在不知道文件名的情况下获取文件状态信息时。