Python os.path.getatime() 方法详解

  • Post category:Python

标题:Python os.path.getatime() 的作用与使用方法攻略

在Python的标准库中,有一个 os.path 模块,其中包括了很多用来操作文件路径及文件信息的函数,其中包括了 os.path.getatime() 函数。

作用

os.path.getatime() 函数用来获取指定路径的文件或目录的最近访问时间(即访问时间戳),单位为秒。

该函数返回一个浮点数类型的时间戳,其中时间戳表示的是从1970年1月1日午夜开始计算的秒数,用浮点数表示更加精确。

语法

os.path.getatime() 函数的语法如下:

os.path.getatime(path)

其中,path 是要查询的文件或目录的路径。

返回值

os.path.getatime() 函数返回的是一个浮点数类型的时间戳,表示文件或目录的最近访问时间(即访问时间戳),单位为秒。

如果指定路径不存在,则会抛出 FileNotFoundError 异常。

示例

下面是一个简单的示例,展示了如何使用 os.path.getatime() 函数获取指定路径的文件或目录的最近访问时间。

import os

# 获取当前目录的最近访问时间
atime = os.path.getatime('.')

print('最近访问时间戳:', atime)

运行该代码,会输出当前目录的最近访问时间戳。

下面是一个更加完整的示例,展示了如何使用 os.path.getatime() 函数递归地获取指定路径下所有文件和子目录的最近访问时间,并将结果保存到一个字典中。

import os

def get_all_atime(path):
    """
    递归地获取指定路径下所有文件和子目录的最近访问时间
    """
    result = {}

    for root, dirs, files in os.walk(path):
        for name in files + dirs:
            # 获取完整的路径
            full_path = os.path.join(root, name)

            # 获取最近访问时间
            atime = os.path.getatime(full_path)

            # 保存到字典中
            result[full_path] = atime

    return result

# 获取当前目录及其子目录下所有文件和目录的最近访问时间
atime_dict = get_all_atime('.')

# 输出结果
for path, atime in atime_dict.items():
    print(f'{path} 最近访问时间戳:{atime}')

运行该代码,会递归地获取当前目录及其子目录下所有文件和目录的最近访问时间,并将结果输出到控制台中。

注意事项

  • os.path.getatime() 函数所获取的访问时间戳是指最近一次的访问时间,而不是创建时间或修改时间。有时候会存在一些操作会影响到文件的最近访问时间,比如备份、压缩、解压等。因此,在实际应用时需要结合具体的场景综合考虑。
  • 如果想获取文件或目录的创建时间或修改时间,可以使用 os.path.getctime()os.path.getmtime() 函数。