如何在Python中获取文件的创建和修改日期/时间?
有多种方法可以获取Python中的文件创建和修改日期时间。我们将使用来自OS和pathlib模块的不同方法来获取Python中的文件创建和修改日期时间。
使用OS模块:Windows上的文件创建时间
在这里,我们使用OS模块来查找文件的创建时间。首先,我们需要导入OS模块和datetime模块。OS模块用于获取时间戳,而datetime模块用于创建datetime对象。os.path.getctime('path')函数用于获取文件的创建时间。os.path.getctime('path')返回以浮点数表示的数值时间戳。
示例
在下面的示例代码中,我们检索时间戳格式的创建时间,然后使用datetime.fromtimestamp()创建datetime对象。
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模块用于创建datetime对象。我们使用 os.path.getmtime('path')函数来获取该文件的最后修改时间。os.path.getmtime('path')返回数值时间戳。然后,我们使用datetime.fromtimestamp()函数将此时间戳转换为datetime对象。
示例
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模块用于创建datetime对象。我们使用os.path.getmtime('path')函数来获取该文件的最后修改时间。os.path.getmtime('path')返回数值时间戳。然后,我们使用datetime.fromtimestamp()函数将此时间戳转换为datetime对象。
示例
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模块用于创建datetime对象。我们使用os.stat()函数中的st_birthtime属性来获取文件的创建时间。这将返回一个数值时间戳,通过使用datetime.fromtimestamp()函数将其转换为datetime对象。。
示例
在这个示例中,我们将了解如何在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模块用于创建datetime对象。
pathlib.Path()用于创建文件的路径并返回文件路径对象。我们使用stat()方法中的st_ctime属性来获取文件的创建时间。这将返回一个数值时间戳,通过使用datetime.fromtimestamp()函数将其转换为datetime对象。
示例
要获取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模块用于创建datetime对象。
我们使用st_mtime属性,它来自stat()方法,用于获取文件的最后修改时间。这将返回一个数值时间戳,通过使用datetime.fromtimestamp()函数将其转换为datetime对象。
示例
在这个示例中,我们将获取系统上的文件修改时间。
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