回答问题

获取文件创建和修改日期/时间的最佳跨平台方法是什么,适用于 Linux 和 Windows?

Answers

在 Python 3.4 及更高版本中,您可以使用面向对象的pathlib 模块接口,其中包含大部分 os 模块的包装器。这是获取文件统计信息的示例。

>>> import pathlib
>>> fname = pathlib.Path('test.py')
>>> assert fname.exists(), f'No such file: {fname}'  # check that the file exists
>>> print(fname.stat())
os.stat_result(st_mode=33206, st_ino=5066549581564298, st_dev=573948050, st_nlink=1, st_uid=0, st_gid=0, st_size=413, st_atime=1523480272, st_mtime=1539787740, st_ctime=1523480272)

有关os.stat_result包含的更多信息,请参阅文档。对于您想要fname.stat().st_mtime的修改时间:

>>> import datetime
>>> mtime = datetime.datetime.fromtimestamp(fname.stat().st_mtime, tz=datetime.timezone.utc)
>>> print(mtime)
datetime.datetime(2018, 10, 17, 10, 49, 0, 249980)

如果你想在 Windows 上创建时间,或者在 Unix 上最新的元数据更改,你可以使用fname.stat().st_ctime:

>>> ctime = datetime.datetime.fromtimestamp(fname.stat().st_ctime, tz=datetime.timezone.utc)
>>> print(ctime)
datetime.datetime(2018, 4, 11, 16, 57, 52, 151953)

这篇文章为 pathlib 模块提供了更多有用的信息和示例。

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐