os.DirEntry.stat()
是一个 Python 内置函数,用于获取文件或目录的统计信息。DirEntry 提供了有关在目录中找到的项目的信息,而 stat() 方法返回 DirEntry 对象所指代的文件的元数据信息。
该方法返回一个“os.stat_result”类型的对象,该对象包含有关文件或目录的以下信息:
- st_mode:文件类型和访问权限。
- st_ino:硬链接的标识符。
- st_dev:文件所在的设备的标识符。
- st_nlink:文件的硬链接数。
- st_uid:文件所属用户的标识符。
- st_gid:文件所属组的标识符。
- st_size:文件大小(以字节为单位)。
- st_atime:文件的访问时间。
- st_mtime:文件的修改时间。
- st_ctime:文件的状态更改时间。
下面是 os.DirEntry.stat()
的使用方法:
import os
file_path = '/path/to/file'
dir_path = '/path/to/directory'
with os.scandir(dir_path) as entries:
for entry in entries:
if entry.is_file() and entry.name == 'test.txt':
# 获取文件的元数据信息
metadata = entry.stat()
print('文件大小:', metadata.st_size)
print('修改时间:', metadata.st_mtime)
elif entry.is_dir() and entry.name == 'testdir':
# 获取目录的元数据信息
metadata = entry.stat()
print('创建时间:', metadata.st_ctime)
在这个例子中,我们使用 os.scandir()
函数遍历一个目录中的所有项,并检查是文件还是目录。如果找到一个文件且文件名为 'test.txt',则调用 os.DirEntry.stat()
获得文件的元数据信息,包括文件大小和修改时间。如果找到一个目录且目录名为 'testdir',则调用 os.DirEntry.stat()
获得目录的元数据信息,包括创建时间。
另外需要注意的一点是,os.DirEntry.stat()
方法仅适用于 Python 3.5 及以上的版本。对于 Python 3.4 或更早版本的用户,在没有 os.DirEntry
类的情况下,可以使用 os.stat()
函数来获取文件或目录的元数据信息。