【问题标题】:How do I get the time a file was last modified in Python? [duplicate]如何获取文件最后在 Python 中修改的时间? [复制]
【发布时间】:2010-09-27 08:54:53
【问题描述】:

假设文件存在(使用os.path.exists(filename) 首先确保它存在),我如何显示文件最后修改的时间?如果这有什么不同的话,这是在 Linux 上。

【问题讨论】:

    标签: python file time


    【解决方案1】:

    os.stat()

    import os
    filename = "/etc/fstab"
    statbuf = os.stat(filename)
    print("Modification time: {}".format(statbuf.st_mtime))
    

    Linux 不记录文件的创建时间 (for most fileystems)。

    【讨论】:

    • 谢谢。 Linux 似乎不存储文件创建时间。似乎我应该知道这一点。 :)
    【解决方案2】:
    >>> import os
    >>> f = os.path.getmtime('test1.jpg')
    >>> f
    1223995325.0
    

    从(纪元)开始

    【讨论】:

    • 谢谢,这很有帮助。这似乎是解决我的具体问题的更直接的方法,但 os.stat 解决方案提供了更多信息。
    • 我不知道有一个明确的功能。我猜是生活和学习。
    • 可能是更便携的解决方案
    • 感谢您的解决方案
    • 这是针对特定问题的最佳答案。更通用的统计信息提供更多信息,并且在需要额外信息时更可取,但当不需要时 - 就像在此处询问的场景中一样 - 这些无关信息和额外层只是不必要的负担。
    【解决方案3】:

    python 3.4+ 的新功能(请参阅:pathlib

    import pathlib
    
    path = Path('some/path/to/file.ext')
    last_modified = path.stat().st_mtime
    

    【讨论】:

    • 当您有绝对路径并且不确定操作系统时,pathlib 似乎对于获取文件很有用。但是,如果您可以假设有问题的文件与您的脚本位于同一目录中,那么其他方法似乎更容易。
    • pathlib 处理相对路径。
    • 在这种情况下,我看不出pathlib.Path("file.ext").stat()os.stat("file.ext") 之间的区别。
    • pathlib 旨在提供一种面向对象的方法来获取 os 和 stat 中的许多功能。它不是为了取代,而是为了生活。此外,当您需要传递路径并且想要访问文件信息或直接打开文件时,它会变得更加方便。
    • 2021 年的正确答案!
    猜你喜欢
    • 2010-09-12
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多