Python os stat:获取文件属性信息

一、os.stat()函数介绍

Python os.stat()函数用于获取文件属性信息,包括文件大小、创建时间、修改时间等。该函数返回一个包含文件属性信息的stat对象,可以通过该对象的各种方法获取不同属性信息。下面是os.stat()函数的语法:

    os.stat(path)

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

下面是一个简单的示例,通过os.stat()函数获取文件属性信息:

    import os

    statinfo = os.stat('./example.txt')
    print('文件大小:', statinfo.st_size)
    print('最近一次访问时间:', statinfo.st_atime)
    print('最近一次修改时间:', statinfo.st_mtime)

本示例中,使用os.stat()函数获取了“example.txt”文件的属性信息,并输出了文件大小、最近一次访问时间、最近一次修改时间。output:

    文件大小: 21
    最近一次访问时间: 1621470765.0646236
    最近一次修改时间: 1621470762.1572392

二、stat对象属性介绍

os.stat()函数返回一个stat对象,stat对象包含了文件属性信息,下面介绍一些常用的stat对象属性:

1. st_size

该属性返回文件大小,单位为字节。

2. st_atime

该属性返回最近一次访问时间,返回值为时间戳。

3. st_mtime

该属性返回最近一次修改时间,返回值为时间戳。

4. st_ctime

该属性返回文件创建时间,返回值为时间戳。

5. st_mode

该属性返回文件的访问权限,以位掩码的形式表示。位掩码是一种用于在二进制下表示一个数值的方法,也称位标记、掩码值等。

下面是一个获取文件访问权限的示例:

    import os

    statinfo = os.stat('./example.txt')
    print('文件访问权限:', statinfo.st_mode)

输出结果为:33188。

可以将该数字转换为二进制,然后从右向左数第 1、2、3 位表示文件所属者的权限,第 4、5、6 位表示同组用户的权限,第 7、8、9 位表示其他用户的权限。每一位上如果是 1,表示有该权限,如果是 0,表示没有该权限。例如本示例中的数字 33188 转换为二进制为 1000001011001100,从右向左数第 1、2、3 位表示该文件所属用户有读、写权限,第 4、5、6 位表示同组用户有读权限,第 7、8、9 位表示其他用户没有任何权限。

三、常用时间戳转换方法

os.stat()函数返回的时间戳需要通过转换才能直观地查看时间信息。下面介绍一些常用的时间戳转换方法:

1. 时间戳转时间字符串

可以使用time模块的localtime函数将时间戳转换为struct_time对象,再使用strftime函数将struct_time对象转换为时间字符串。下面是一个示例:

    import os
    import time

    statinfo = os.stat('./example.txt')
    atime = time.localtime(statinfo.st_atime)
    atime_str = time.strftime('%Y-%m-%d %H:%M:%S', atime)
    print('最近一次访问时间:', atime_str)

输出结果为:“最近一次访问时间: 2021-05-21 16:59:25”

2. 时间字符串转时间戳

可以使用datetime模块的strptime函数将时间字符串转换为datetime对象,再使用timestamp函数将datetime对象转换为时间戳。下面是一个示例:

    import datetime

    time_str = '2021-05-21 16:59:25'
    time_dt = datetime.datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S')
    time_stamp = time_dt.timestamp()
    print('时间戳:', time_stamp)

输出结果为:时间戳:1621598365.0

四、小结

本文介绍了Python os.stat()函数的使用方法,以及常用的获取文件属性信息的属性和时间戳转换方法。在实际开发中,获取文件属性信息时需要注意文件访问权限和时间戳的转换方法,以便更好地处理文件。希望本文能够对大家有所帮助。

原创文章,作者:NSEQ,如若转载,请注明出处:https://www.506064.com/n/132875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
NSEQNSEQ
上一篇 2024-10-03 23:55
下一篇 2024-10-03 23:55

相关推荐

  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29

发表回复

登录后才能评论