首页 >后端开发 >Python教程 >如何在 Python 中跨平台获取文件创建和修改时间?

如何在 Python 中跨平台获取文件创建和修改时间?

Patricia Arquette
Patricia Arquette原创
2024-12-12 20:44:10105浏览

How Can I Get File Creation and Modification Times Cross-Platform in Python?

检索文件创建和修改日期/时间的跨平台方法

跨不同平台处理文件时,访问变得至关重要他们的创建和修改时间戳。要以跨平台方式实现此目的,请考虑以下方法:

修改日期

使用 os.path.getmtime(path 获取文件修改日期相对简单)。此方法返回 Unix 时间戳,指示路径指定的文件的最后修改时间。

创建日期

检索文件创建日期更具挑战性,因为方法各不相同取决于操作系统。下面是细分:

  • Windows:利用 os.path.getctime() 或 os.stat() 的 .st_ctime 属性。
  • Mac 和其他 Unix 操作系统: 访问 .st_birthtime 属性os.stat().
  • Linux: 目前,如果不为 Python 编写 C 扩展,则无法直接访问创建日期。但是,可以获取文件的 mtime(上次修改时间)作为替代方案。

跨平台实现

适应平台相关的创建日期检索,可以使用如下跨平台函数:

import os
import platform

def creation_date(path_to_file):
    """
    Try to get the date that a file was created, falling back to when it was
    last modified if that isn't possible.
    See http://stackoverflow.com/a/39501288/1709587 for explanation.
    """
    if platform.system() == 'Windows':
        return os.path.getctime(path_to_file)
    else:
        stat = os.stat(path_to_file)
        try:
            return stat.st_birthtime
        except AttributeError:
            return stat.st_mtime

以上是如何在 Python 中跨平台获取文件创建和修改时间?的详细内容。更多信息请关注PHP中文网其他相关文章!

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