python内置库--stat

发布时间 2023-05-20 22:02:11作者: 工作手记

1 简单介绍

stat模块需要结合 os.stat(), os.fstat() 和 os.lstat()这些函数的返回值来使用,提供文件和目录的一些信息(如类型 大小 修改时间等等)

2 相关函数及属性

stat.S_ISDIR(mode)
判断是否为目录

stat.S_ISCHR(mode)
判断是否为字符设备文件

stat.S_ISBLK(mode)
判断是否为块设备文件

stat.S_ISREG(mode)
判断是否为一个常规文件

stat.S_ISFIFO(mode)
判断是否为 FIFO类型文件,FIFO是一种特殊类型文件,大概和管道命令相关

stat.S_ISLNK(mode)
判断是否为一个符号链接,在win上可以理解为桌面上的快捷方式,Linux上就是软链接之类的东西

stat.S_ISSOCK(mode)
判断是否为socket类型

stat.S_ISDOOR(mode)
判断是否为door类型文件,大概是一种端到端的通信文件,具体还不清楚

stat.S_ISPORT(mode)
判断是否为event port相关的文件

stat.S_ISWHT(mode)
判断是否为whiteout

stat.S_IMODE(mode)
返回文件模式中可由 os.chmod() 进行设置的部分 --- 即文件的 permission 位,加上 sticky 位、set-group-id 以及 set-user-id 位(在支持这些部分的系统上)。

stat.S_IFMT(mode)
返回文件模式中描述文件类型的部分(供上面的 S_IS*() 函数使用)

下面这些属性可以得到os.stat(path), os.fstat(path) 和 os.lstat(path)返回结果中众多项目的其中一项

stat.ST_MODE
返回文件的mode, os.stat(file)的返回结果有mode

stat.ST_INO
Inode 号

stat.ST_DEV
Inode 所在的设备。

stat.ST_NLINK
Inode 拥有的链接数量。

stat.ST_UID
所有者的用户 ID。

stat.ST_GID
所有者的用户组ID。

stat.ST_SIZE
以字节为单位的普通文件大小;对于某些特殊文件则是所等待的数据量。

stat.ST_ATIME
上次访问的时间。

stat.ST_MTIME
上次修改的时间。

stat.ST_CTIME
操作系统所报告的 "ctime"。 在某些系统上(例如 Unix)是元数据的最后修改时间,而在其他系统上(例如 Windows)则是创建时间(请参阅系统平台的文档了解相关细节)

等等 还有其他很多属性

image
image
image