如何在 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