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

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

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

  • 创建日期时间 - 它提供了文件最初创建或添加到文件系统时的时间戳。
  • 修改日期时间 - 它提供了文件内容最后一次修改或更新时的时间戳。
  • 这些日期时间可以提供有关文件年龄、最近更改或首次引入的详细信息。
  • 在Python中,您可以使用os.path.getctime()和os.path.getmtime()等函数提取文件的创建和修改日期时间。
  • 通过分析这些时间戳,您可以跟踪文件的更改、管理版本或根据修改历史执行操作。

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

示例

import os
import time

# Specify the file path
file_path = 'path/to/file.txt'

# Get the creation and modification datetime of the file
creation_time = os.path.getctime(file_path)
modification_time = os.path.getmtime(file_path)

# Convert the timestamps to datetime objects
creation_datetime = time.ctime(creation_time)
modification_datetime = time.ctime(modification_time)

# Print the datetime information
print(f"Creation datetime: {creation_datetime}")
print(f"Modification datetime: {modification_datetime}")

输出

对于某个文件,以下是输出结果

Creation datetime: Sun Jul 16 11:06:44 2023
Modification datetime: Sun Jul 16 11:01:11 2023

让我们考虑代码中你需要采取的步骤 –

  • 导入必要的模块。

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

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

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

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

  • 类似地,使用os.path.getmtime()函数来获取文件的修改时间。该函数返回表示最后修改时间的时间戳。

  • 使用time.ctime()函数将时间戳转换为datetime对象。该函数接受一个时间戳作为参数,并以字符串形式表示相应的日期时间。

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

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

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

示例

import os
from datetime import datetime

# Specify the file path
file_path = 'path/to/file.txt'

# Get the creation and modification datetime of the file
stat_info = os.stat(file_path)
creation_time = datetime.fromtimestamp(stat_info.st_ctime)
modification_time = datetime.fromtimestamp(stat_info.st_mtime)

# Print the datetime information
print(f"Creation datetime: {creation_time}")
print(f"Modification datetime: {modification_time}")

输出

对于某个文件,以下是输出结果

Creation datetime: 2023-07-16 11:01:18.074272
Modification datetime: 2023-07-16 11:01:18.074272
  • 在这个代码示例中,我们使用os.stat()函数来获取文件的状态信息;这包括创建和修改时间戳等细节。stat()函数返回一个包含文件的各种属性的对象作为输出。

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

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

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

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

示例

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

import os
import datetime

# Specify the file path
file_path = 'path/to/file.txt'

# Get the file stat information
file_stat = os.stat(file_path)

# Retrieve the creation and modification timestamps
creation_timestamp = file_stat.st_ctime
modification_timestamp = file_stat.st_mtime

# Convert timestamps to datetime objects
creation_datetime = datetime.datetime.fromtimestamp(creation_timestamp)
modification_datetime = datetime.datetime.fromtimestamp(modification_timestamp)

# Print the datetime information
print(f"Creation datetime: {creation_datetime}")
print(f"Modification datetime: {modification_datetime}")

输出

对于某个文件,以下是输出结果:

Creation datetime: 2023-07-13 14:15:49.451530
Modification datetime: 2023-07-13 13:33:36

示例

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

import os
import time

# Specify the file path
file_path = 'path/to/file.txt'

# Get the creation and modification timestamps
creation_timestamp = os.path.getctime(file_path)
modification_timestamp = os.path.getmtime(file_path)

# Convert timestamps to formatted datetime strings
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 the datetime information
print(f"Creation datetime: {creation_datetime}")
print(f"Modification datetime: {modification_datetime}")

输出

对于某个文件,以下是输出结果:

Creation datetime: 2023-07-16 11:01:18
Modification datetime: 2023-07-16 11:01:18

示例

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

import os
import datetime

# Specify the file path
file_path = 'path/to/file.txt'

# Get the creation and modification timestamps
creation_timestamp = os.path.getctime(file_path)
modification_timestamp = os.path.getmtime(file_path)

# Convert timestamps to datetime objects
creation_datetime = datetime.datetime.fromtimestamp(creation_timestamp)
modification_datetime = datetime.datetime.fromtimestamp(modification_timestamp)

# Print the datetime information
print(f"Creation datetime: {creation_datetime}")
print(f"Modification datetime: {modification_datetime}")

输出

对于某个文件,以下是输出结果:

Creation datetime: 2023-07-16 11:01:18.074272
Modification datetime: 2023-07-16 11:01:18.074272

示例

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

import os
import time

# Specify the file path
file_path = 'path/to/file.txt'

# Get the file stat information
file_stat = os.stat(file_path)

# Retrieve the creation and modification timestamps
creation_timestamp = file_stat.st_ctime
modification_timestamp = file_stat.st_mtime

# Format timestamps as datetime strings
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 the datetime information
print(f"Creation datetime: {creation_datetime}")
print(f"Modification datetime: {modification_datetime}")

输出

对于某个文件,以下是输出结果

Creation datetime: 2023-07-13 14:15:49
Modification datetime: 2023-07-13 13:33:36

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程