python os获取文件大小_Python os.stat()函数:获取文件基本信息

文件创建后,该文件本身就会包含一些基本信息,例如文件的大小、最后一次修改时间、最后一次访问时间等。通过 os 模块中的 stat() 函数可以获取到文件的这些基本信息。

stat() 函数的基本语法格式如下:

os.stat(path)

其中,path 参数表示目标文件的访问路径,可以使用相对路径,也可以使用绝对路径。

此函数的返回值是一个对象,其具有表 1 所示的属性,通过访问这些属性,就可以获取指定文件的基本信息。

表 1 stat()函数返回对象的常用属性

属性名

含义

属性名

含义

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值