首页 >后端开发 >Python教程 >如何在不同操作系统上可靠地获取文件的创建和修改时间戳?

如何在不同操作系统上可靠地获取文件的创建和修改时间戳?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-12 21:49:10994浏览

How Can I Get a File's Creation and Modification Timestamps Reliably Across Different Operating Systems?

跨平台访问文件创建和修改日期/时间

使用 os.path 跨平台检索文件修改日期/时间非常简单.getmtime(路径)。对于更精细的方法,请考虑以下细微差别:

Windows

对于 Windows 上的创建日期,请使用 os.path.getctime(path)。这将检索文件的“创建时间”(ctime),该时间特定于 Windows。

Mac 和 Unix(Linux 除外)

通过 .st_birthtime 访问创建日期os.stat() 的属性

Linux

不幸的是,如果不实现 Python C 扩展,目前在 Linux 上检索创建日期是不可行的。访问 st_crtime (存储 Linux 文件系统上的创建日期)受到 Linux 内核的限制。作为后备,使用 os.path.getmtime() 获取内容修改时间戳。

要覆盖所有平台,通用方法可能是:

import os
import platform

def creation_date(path):
    if platform.system() == 'Windows':
        return os.path.getctime(path)
    else:
        stat = os.stat(path)
        try:
            return stat.st_birthtime
        except AttributeError:
            return stat.st_mtime

以上是如何在不同操作系统上可靠地获取文件的创建和修改时间戳?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn