Python os.stat()函数:获取文件基本信息
文件创建后,该文件本身就会包含一些基本信息,例如文件的大小、最后一次修改时间、最后一次访问时间等。通过 os 模块中的 stat() 函数可以获取到文件的这些基本信息。
stat() 函数的基本语法格式如下:
此函数的返回值是一个对象,其具有表 1 所示的属性,通过访问这些属性,就可以获取指定文件的基本信息。
下面给大家举个实例,假设创建一个 a.txt 文件,并在同一目录中,创建一个 .py 文件并编写如下语句:
stat() 函数的基本语法格式如下:
os.stat(path)
其中,path 参数表示目标文件的访问路径,可以使用相对路径,也可以使用绝对路径。此函数的返回值是一个对象,其具有表 1 所示的属性,通过访问这些属性,就可以获取指定文件的基本信息。
属性名 | 含义 | 属性名 | 含义 |
---|---|---|---|
st_mode | 保护模式 | st_ino | 索引号 |
st_nlink | 硬链接号(被连接数目) | st_dev | 设备名 |
st_uid | 用户 ID | st_gid | 组 ID |
st_size | 文件大小,以字节为单位 | st_mtime | 文件最后一次修改时间 |
st_atime | 最后一次访问时间 | st_ctime | 最后一次状态变化的时间,操作系统不会,该属性对应的结果也不同,例如在 Windows 操作系统下返回的就是文件的创建时间。 |
下面给大家举个实例,假设创建一个 a.txt 文件,并在同一目录中,创建一个 .py 文件并编写如下语句:
import os fileinfo = os.stat("a.txt") print("索引号:",fileinfo.st_ino) print("被连接数目:",fileinfo.st_dev) print("文件大小:",fileinfo.st_size,"字节") print("最后一次访问时间:",fileinfo.st_atime) print("最后一次修改时间:",fileinfo.st_mtime) print("最后一次状态变化的时间:",fileinfo.st_ctime)运行结果为:
索引号: 16325548649358561
被连接数目: 3468702398
文件大小: 35 字节
最后一次访问时间: 1565314959.9438338
最后一次修改时间: 1565168477.275359
最后一次状态变化的时间: 1565070909.8918042
通过观察以上输出结果我们发现,时间信息和平时见到的所有不同。一般情况,为了显示更加直观,还需要对时间信息进行格式化,需要借助 time 模块下的 strftime() 函数,比如:注意,由于运行环境不同,读者的运行结果和以上输出结果会有差异。
import os def formatTime(atime): import time return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(atime)) fileinfo = os.stat("a.txt") print("最后一次访问时间:",formatTime(fileinfo.st_atime)) print("最后一次修改时间:",formatTime(fileinfo.st_mtime)) print("最后一次状态变化的时间:",formatTime(fileinfo.st_ctime))输出结果为:
最后一次访问时间: 2019-08-09 09:42:39
最后一次修改时间: 2019-08-07 17:01:17
最后一次状态变化的时间: 2019-08-06 13:55:09
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算