Python 如何获取文件的创建和修改日期/时间
在Python中有多种方法可以获取文件的创建和修改日期时间。我们将使用操作系统和路径操作模块中的不同方法来获取Python中的文件创建和修改日期时间。
使用OS模块:在Windows上获取文件的创建时间
在这里,我们使用OS模块来查找文件的创建时间。首先,我们需要导入OS模块和datetime模块。OS模块用于获取时间戳,而datetime模块用于创建datetime对象。 os.path.getctime(’路径’) 函数用于获取文件的创建时间。os.path.getctime(’路径’)以浮点数的形式返回创建时间的时间戳。
示例
在以下示例代码中,我们以时间戳格式检索创建时间,然后使用 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(‘路径’) 函数来获取文件的最后修改时间。os.path.getmtime(‘路径’)返回一个数字时间戳表示的修改时间。然后,我们使用 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(‘路径’) 函数来获取文件的最后修改时间。os.path.getmtime(‘路径’)函数返回修改时间的数字时间戳。然后,我们使用 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对象。
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对象。
我们使用 stat() 方法的 st_mtime 属性来获取文件的最后修改时间。这将返回一个数字时间戳,可以使用 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