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

pythonserver side programmingprogramming

首先,让我们了解一下 Python 中文件的创建日期时间和修改日期时间;实际上,这些是指与文件创建和最后修改时间相关的时间戳。

  • 创建日期时间  它提供文件最初创建或添加到文件系统的时间戳。

  • 修改日期时间  它提供文件内容最后修改或更新的时间戳。

  • 这些日期时间可以提供有关参数的详细信息,例如文件的年龄、最近的更改或首次引入的时间。

  • 在 Python 中,您可以使用 os.path.getctime() 和 os.path.getmtime() 等函数提取文件的创建和修改日期时间。

  • 通过分析这些时间戳,您可以跟踪文件更改、管理版本或根据修改历史记录执行操作。

为了在 Python 中检索文件的创建和修改日期时间,您可以选择使用 os 模块和/或 os.path 模块。这些模块提供各种功能和方法来与操作系统交互并提取有关这些文件的信息。您可以这样做 

示例

import os
import time

# 指定文件路径
file_path = 'path/to/file.txt'

# 获取文件的创建和修改日期时间
creation_time = os.path.getctime(file_path)
modification_time = os.path.getmtime(file_path)

# 将时间戳转换为日期时间对象
creation_datetime = time.ctime(creation_time)
modification_datetime = time.ctime(modification_time)

# 打印日期时间信息
print(f"创建日期时间: {creation_datetime}")
print(f"修改日期时间: {modification_datetime}")

输出

对于某个文件,输出如下

创建日期时间:2023 年 7 月 16 日星期日 11:06:44
修改日期时间:2023 年 7 月 16 日星期日 11:01:11

让我们考虑一下您必须在代码中采取的步骤 -

  • 导入必要的模块。

  • 导入 os 模块以与操作系统交互。

  • 导入 time 模块以使用与时间相关的函数。

  • 必须指定要获取其创建和修改日期时间的文件的路径

  • os.path.getctime() 函数用于获取文件的创建时间。此函数返回表示创建时间的时间戳。

  • 同样,os.path.getmtime() 函数用于获取文件的修改时间。此函数返回表示上次修改时间的时间戳。

  • 使用 time.ctime() 函数将时间戳转换为 datetime 对象。此函数以时间戳作为参数,并给出表示相应日期时间的字符串作为输出。

  • 最后,检索到的创建和修改日期时间数据将打印到屏幕上。

执行此代码后,您将能够检索指定文件的创建和修改日期时间,并以用户友好的格式显示数据。

需要注意的是,os.path.getctime() 和 os.path.getmtime() 函数生成的时间戳与平台有关,并且可能会根据所访问的操作系统而变化。

示例

import os
from datetime import datetime

# 指定文件路径
file_path = 'path/to/file.txt'

# 获取文件的创建和修改日期时间
stat_info = os.stat(file_path)
creation_time = datetime.fromtimestamp(stat_info.st_ctime)
modification_time = datetime.fromtimestamp(stat_info.st_mtime)

# 打印日期时间信息
print(f"创建日期时间:{creation_time}")
print(f"修改日期时间:{modification_time}")

输出

对于某个文件,输出如下

创建日期时间:2023-07-16 11:01:18.074272
修改日期时间:2023-07-16 11:01:18.074272
  • 在此代码示例中,我们使用了 os.stat() 函数来检索文件的状态信息;这包括创建和修改时间戳等详细信息。stat() 函数给出一个包含文件各种属性的对象作为输出。

  • 为了获取创建时间戳,我们使用 stat_info 对象的 st_ctime 属性,该属性提供创建时间。我们使用 datetime.fromtimestamp() 方法将此时间戳转换为 datetime 对象。

  • 以类似的方式,为了访问修改时间戳,我们使用 stat_info 对象的 st_mtime 属性;这代表最后修改的时间。在这里,我们再次将此时间戳转换为 datetime 对象。

  • 最后,我们在控制台上显示检索到的创建和修改日期时间信息。

  • 通过执行此代码,我们以人类可以阅读和理解的格式获取指定文件的创建和修改日期时间。

示例

在下面给出的示例中,我们利用 os.stat() 函数获取文件的统计数据。st_ctime 属性指向创建时间戳,st_mtime 属性指示修改时间戳。我们使用 datetime.datetime.fromtimestamp() 函数将这些时间戳转换为日期时间对象,然后打印提取的日期时间信息。

import os
import datetime

# 指定文件路径
file_path = 'path/to/file.txt'

# 获取文件统计信息
file_stat = os.stat(file_path)

# 检索创建和修改时间戳
creation_timestamp = file_stat.st_ctime
modification_timestamp = file_stat.st_mtime

# 将时间戳转换为日期时间对象
creation_datetime = datetime.datetime.fromtimestamp(creation_timestamp)
modification_datetime = datetime.datetime.fromtimestamp(modification_timestamp)

# 打印日期时间信息
print(f"创建日期时间: {creation_datetime}")
print(f"修改日期时间:{modification_datetime}")

输出

对于某个文件,输出如下

创建日期时间:2023-07-13 14:15:49.451530
修改日期时间:2023-07-13 13:33:36

示例

在这里,我们使用 os.path.getctime() 和 os.path.getmtime() 函数来获取文件的创建和修改时间戳。然后,我们使用 time.strftime() 函数将这些时间戳格式化为所需日期时间格式的字符串。最后,我们打印检索到的日期时间信息。

import os
import time

# 指定文件路径
file_path = 'path/to/file.txt'

# 获取创建和修改时间戳
creation_timestamp = os.path.getctime(file_path)
modification_timestamp = os.path.getmtime(file_path)

# 将时间戳转换为格式化的日期时间字符串
creation_datetime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(creation_timestamp))
modification_datetime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(modification_timestamp))

# 打印日期时间信息
print(f"Creation datetime: {creation_datetime}")
print(f"Modification datetime: {modification_datetime}")

输出

对于某个文件,输出如下

创建日期时间:2023-07-16 11:01:18
修改日期时间:2023-07-16 11:01:18

示例

在下面给出的代码片段中,我们利用 os.path.getctime() 函数获取文件的创建时间戳,利用 os.path.getmtime() 函数检索修改时间戳。然后,我们使用 datetime.datetime.fromtimestamp() 将这些时间戳转换为 datetime 对象,并将它们保存在变量 creation_datetime 和 modified_datetime 中。最后,我们打印日期时间数据。

import os
import datetime

# 指定文件路径
file_path = 'path/to/file.txt'

# 获取创建和修改时间戳
creation_timestamp = os.path.getctime(file_path)
modification_timestamp = os.path.getmtime(file_path)

# 将时间戳转换为日期时间对象
creation_datetime = datetime.datetime.fromtimestamp(creation_timestamp)
modification_datetime = datetime.datetime.fromtimestamp(modification_timestamp)

# 打印日期时间信息
print(f"创建日期时间:{creation_datetime}")
print(f"修改日期时间:{modification_datetime}")

输出

对于某个文件,输出如下

创建日期时间:2023-07-16 11:01:18.074272
修改日期时间:2023-07-16 11:01:18.074272

示例

我们在此示例中使用 os.stat() 函数来获取文件的统计信息;这包括创建和修改时间戳。我们从 file_stat 对象的 st_ctime 和 st_mtime 属性中提取这些时间戳。然后,我们继续使用 time.strftime() 函数以所需格式将时间戳显示为日期时间字符串。最后,我们将检索到的日期时间信息打印到屏幕上。

import os
import time

# 指定文件路径
file_path = 'path/to/file.txt'

# 获取文件状态信息
file_stat = os.stat(file_path)

# 检索创建和修改时间戳
creation_timestamp = file_stat.st_ctime
modification_timestamp = file_stat.st_mtime

# 将时间戳格式化为日期时间字符串
creation_datetime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(creation_timestamp))
modification_datetime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(modification_timestamp))

#打印日期时间信息
print(f"创建日期时间:{creation_datetime}")
print(f"修改日期时间:{modification_datetime}")

输出

对于某个文件,输出如下

创建日期时间:2023-07-13 14:15:49
修改日期时间:2023-07-13 13:33:36

简而言之,我们通过代码示例和说明探索了如何在 Python 中检索文件的创建和修改日期时间属性的各种方法。其他示例为您提供了在 Python 中检索文件的创建和修改日期时间的替代和不同方法。您可以选择最适合您的需求和偏好的方法并继续进行。


相关文章