如何可靠地获取不同操作系统上的文件创建和修改时间?
跨平台文件创建和修改日期/时间检索
可以获取跨不同操作系统的文件创建和修改日期/时间一项复杂的任务。
修改日期
使用 os.path.getmtime() 跨平台获取文件修改日期相对简单,它提供上次修改的 Unix 时间戳。
创建日期
对于文件创建日期,由于平台特定,该过程变得更加复杂实现:
- Windows: Windows 将创建日期存储在文件的 ctime 中。可以通过 os.path.getctime() 或 os.stat() 的 .st_ctime 属性进行访问。
- Mac: 在 Mac 和某些基于 Unix 的操作系统上,.st_birthtime os.stat() 的属性提供了创建日期。
- Linux: Linux 确实目前没有标准化的方法来检索创建日期。虽然某些文件系统(如 ext4)存储数据,但 Linux 内核不提供直接访问数据的方法。最接近的替代方案是文件的 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: # We're probably on Linux. No easy way to get creation dates here, # so we'll settle for when its content was last modified. return stat.st_mtime
此代码首先检查平台以应用适当的方法。在 Windows 上,它使用 os.path.getctime(),而在 Mac 和一些基于 Unix 的操作系统上,它尝试使用 .st_birthtime 检索创建日期。对于 Linux,它回退到通过 .st_mtime 获取的修改日期。
以上是如何可靠地获取不同操作系统上的文件创建和修改时间?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...

Python3.6环境下加载pickle文件报错:ModuleNotFoundError:Nomodulenamed...

使用Scapy爬虫时管道文件无法写入的原因探讨在学习和使用Scapy爬虫进行数据持久化存储时,可能会遇到管道文�...
