如何在 Python 中获取文件的创建和修改日期/时间?


有多种方法可以在 Python 中获取文件的创建和修改日期时间。我们将使用来自 OS 和 pathlib 模块的不同方法来在 Python 中获取文件的创建和修改日期时间。

使用 OS 模块:Windows 上的文件创建时间

在这里,我们使用了 OS 模块来查找文件的创建时间。最初,我们需要导入 OS 模块和 datetime 模块。OS 模块用于获取时间戳,而 datetime 模块用于创建日期时间对象。os.path.getctime('path') 函数用于获取文件的创建时间。 os.path.getctime('path') 以浮点数形式返回数字时间戳中的创建时间。

示例

在以下示例代码中,我们以时间戳格式检索创建时间,然后使用 datetime.fromtimestamp() 创建一个 datatime 对象。

import datetime import os path = r"C:\Examples\samplefile.txt" create_time = os.path.getctime(path) print(create_time) create_date = datetime.datetime.fromtimestamp(create_time) print('Created on:', create_date)

输出

给定示例生成的输出如下所示。

1652690657.7901006
Created on: 2022-05-16 14:14:17.790101

使用 OS 模块:Windows 上的文件修改时间

在这里,我们使用 OS 模块查找文件的最后修改时间。最初,我们需要导入 OS 模块和 datetime 模块。OS 模块用于获取时间戳,而 datetime 模块用于创建日期时间对象。我们使用 os.path.getmtime('path') 函数来获取该文件的最后修改时间。os.path.getmtime(‘path’) 返回数字时间戳中的修改时间。然后,我们使用datetime.fromtimestamp() 函数将此时间戳转换为日期时间对象。

示例

import datetime import os path = r"C:\Examples\samplefile.txt" modify_time = os.path.getmtime(path) print(modify_time) modify_date = datetime.datetime.fromtimestamp(modify_time) print('Modified on:', modify_date)

输出

1652690891.8609138
Modified on: 2022-05-16 14:18:11.860914


使用 OS 模块:MAC 和 UNIX 上的文件修改时间

在这里,我们使用 OS 模块查找文件的最后修改时间。最初,我们需要导入 OS 模块和 datetime 模块。OS 模块用于获取时间戳,而 datetime 模块用于创建日期时间对象。我们使用 os.path.getmtime('path') 函数来获取该文件的最后修改时间。 os.path.getmtime('path') 返回数字时间戳中的修改时间。然后,我们使用datetime.fromtimestamp() 函数将此时间戳转换为日期时间对象。

示例

import datetime import os path = r"C:\Examples\samplefile.txt" modify_time = os.path.getmtime(path) print(modify_time) modify_date = datetime.datetime.fromtimestamp(modify_time) print('Modified on:', modify_date)

输出

1652690891.8609138
Modified on: 2022-05-16 14:18:11.860914


使用 OS 模块:MAC 和 UNIX 上的文件修改时间

这里通过使用 OS 和 datetime 模块获取 Mac 和 Unix 系统上的文件创建时间。OS 模块用于获取时间戳,而 datetime 模块用于创建日期时间对象。我们使用 os.stat() 函数的st_birthtime 属性来获取文件的创建时间。这将返回一个数字时间戳,通过使用datetime.fromtimestamp() 函数将其转换为日期时间对象。

示例

在本例中,我们将了解如何在 MAC 和 UNIX 系统上获取文件创建的时间戳。

import os import datetime path = r"C:\Examples\samplefile.txt" stat = os.stat(path) create_timestamp = stat.st_birthtime print(create_timestamp) create_time = datetime.datetime.fromtimestamp(create_timestamp) print(create_time)

输出

上述程序获得的输出如下所示。

1652690657.7901006
Created on: 2022-05-16 14:14:17.790101


使用 Pathlib 模块:Windows 上的文件创建时间

在这里,我们使用 pathlib 模块来获取文件的创建时间。我们最初导入 pathlib 和 datetime 模块。pathlib 模块用于获取时间戳,而 datetime 模块用于创建日期时间对象。

pathlib.Path() 用于创建文件路径并返回文件路径对象。我们使用stat() 方法的 st_ctime 属性来获取文件的创建时间。这将返回一个数字时间戳,通过使用datetime.fromtimestamp() 函数将其转换为日期时间对象。

示例

要获取 Windows 操作系统上文件创建的时间戳,可以使用以下程序。

import datetime import pathlib filename = pathlib.Path(r'C:\Examples\samplefile.txt') create_timestamp = filename.stat().st_ctime print(create_timestamp) create_time = datetime.datetime.fromtimestamp(create_timestamp) print(create_time)

输出

执行上述程序时生成的输出如下所示。

1652690657.7901006
2022-05-16 14:14:17.790101


使用 Pathlib 模块:Windows 上的文件修改时间

在这里,我们使用 pathlib 模块查找文件的最后修改时间。最初,我们需要导入 pathlib 模块和 datetime 模块。pathlib 模块用于获取时间戳,而 datetime 模块用于创建日期时间对象。

我们使用st_mtime 属性,该属性来自stat() 方法,用于获取文件的最后修改时间。这将返回一个数字时间戳,通过使用datetime.fromtimestamp() 函数将其转换为日期时间对象。

示例

在本例中,我们将获取系统上的文件修改时间。

import datetime import pathlib filename = pathlib.Path(r'C:\Examples\samplefile.txt') modify_timestamp = filename.stat().st_mtime print(modify_timestamp) modify_date = datetime.datetime.fromtimestamp(modify_timestamp) print('Modified on:', modify_date)

输出

生成的输出显示如下。

1652690891.8609138
Modified on: 2022-05-16 14:18:11.860914

更新于: 2023-11-02

14K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告