Python os.stat() 方法详解

  • Post category:Python

Python的os.stat()方法用于获取文件的状态信息,包括文件的大小、创建时间、修改时间、访问时间等多个属性。该方法返回的是一个包含文件状态信息的对象,可以通过该对象的属性来访问文件的各种属性信息。

语法

os.stat()的语法如下:

os.stat(path)

其中,path为文件路径,可以是相对路径或绝对路径。

返回值

os.stat()方法返回一个包含文件状态信息的stat_result对象,该对象包含以下属性:

  • st_mode:文件的类型和权限;
  • st_ino:文件的inode号;
  • st_dev:文件所在硬盘的设备号;
  • st_nlink:文件的硬链接数;
  • st_uid:文件的用户ID;
  • st_gid:文件的组ID;
  • st_size:文件的大小,以字节为单位;
  • st_atime:文件的最后访问时间,最后访问时间是指文件的最后读取或执行时间;
  • st_mtime:文件的最后修改时间,最后修改时间是指文件的内容被修改后保存的时间;
  • st_ctime:文件状态信息的最后更改时间,最后修改时间是指文件的inode信息或属性被修改后保存的时间。

可以通过该对象的属性来访问文件的各种属性信息。

示例

假设有一个文件/tmp/test.txt,我们可以使用os.stat()方法来获取该文件的状态信息。代码如下:

import os

stat_info = os.stat('/tmp/test.txt')
print('文件大小:', stat_info.st_size)
print('创建时间:', stat_info.st_ctime)
print('修改时间:', stat_info.st_mtime)
print('最后访问时间:', stat_info.st_atime)

运行以上代码,输出结果如下:

文件大小: 13
创建时间: 1632626638.5733955
修改时间: 1632626638.5733955
最后访问时间: 1632626640.5239084

通过stat_info.st_size属性可以获取文件大小,以字节为单位,输出结果为13。通过stat_info.st_ctime、stat_info.st_mtime和stat_info.st_atime属性可以分别获取文件的创建时间、修改时间和最后访问时间,输出结果为时间戳。如果需要将时间戳转换为字符串格式的时间,可以使用time模块的localtime()方法进行转换。

总结

os.stat()方法可以获取文件的状态信息,包括文件的大小、创建时间、修改时间、访问时间等多个属性。使用该方法可以方便地获取文件的属性,并对文件进行一些操作,如复制、移动、删除等。在实际开发中,我们需要根据具体的需求来使用os.stat()方法,从而达到最好的效果。