如何使用Python检查文件的最后访问时间?

如何使用Python检查文件的最后访问时间?

在Python中可以通过多种方式获取文件的最后访问时间。下面将使用以下OS模块方法在Python中获取文件的最后访问时间。

使用os.path.getatime()方法

在Python中,我们可以使用os.path.getatime()方法检索路径的最近访问时间。这种方法将获取需要验证访问时间的路径。返回自纪元以来的时间量作为浮点值。

如果无法访问请求的路径或路径不存在,则会引发一个OSError。

语法

os.path.getatime(path)

示例-1

您要验证其最后访问时间的文件的路径是filepath。

我们使用os.path.getatime读取的最后访问时间是last_access_time。

datetime模块用于在最后一行以人类可读的格式输出此时间。

以下是使用os.path.getatime方法检查文件最后访问时间的示例。

import os
import datetime

filepath = r"C:\Users\Lenovo\Downloads\Work TP\trial.py"

last_access_time = os.path.getatime(filepath)
print('文件的最后访问时间是: 
{}'.format(datetime.datetime.fromtimestamp(last_access_time)))

输出

以下是上述代码的输出。

文件的最后访问时间是:2022-07-21 11:25:22.090214

示例-2

在下面的示例中,filepath代表文件的路径,并返回自纪元以来的文件的最近访问时间(以秒为单位)。然后可以将自纪元以来的时间转换为其他可读格式的时间戳。

在这里,time.localtime()函数的struct time功能将自纪元以来的秒转换为本地时区。然后,可以通过将该时间结构发送到time.strftime()来获取可读格式的时间戳。

通过修改time.strftime()中的格式字符串,我们可以仅接收日期和特定于应用程序的各种格式。

该示例如下。

import os
import datetime
import time

filepath = r"C:\Users\Lenovo\Downloads\Work TP\trial.py"

last_access_time_sinceEpoc = os.path.getatime(filepath)
LastaccessTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(last_access_time_sinceEpoc))

输出

以下是上述代码的输出。

LastaccessTime
'2022-07-21 11:25:22'

注意

LastaccessTime=time.strftime('%Y%m%d%H:%M:%S',time.gmtime(last_access_time_sinceEpoc))

使用os.stat()方法

它以文件的路径作为参数,并将文件的状态作为os.stat结果对象返回。它包括文件的许多细节,例如其模式、链接类型、访问或修改时间等。

语法

os.stat(filepath)

示例

访问st_atime字段,它包含最近访问时间(单位秒),以从os.stat结果对象中获取最近的访问时间。然后,使用time.ctime,我们可以将其转换为可读的格式。

以下是使用os.stat方法检查文件最后访问时间的示例 –

import os
import stat
import time

# 获取stat_result对象
filePath = os.stat ("C:\Users\Lenovo\Downloads\Work TP\trial.py")

# 获取上次访问时间
FileLastaccessTime = time.ctime (filePath.st_atime)

输出

以下是上面代码的输出。

FileLastaccessTime
'Thu Jul 21 11:25:22 2022'

LINUX中的文件最后访问时间

示例-1

我们可以使用Linux stat命令查看文件的访问、修改和更改时间。只需在命令中包含文件路径即可 –

$ stat code.py

输出

以下是上述命令的输出 –

File: code.py 
Size: 225                 Blocks: 8          IO Block: 4096     regular file 
Device: 801h/2049d        Inode: 274798       Links: 1 
Access: (0644/-rw-r--r--) Uid: ( 1000/ sarika) Gid: ( 1000/ sarika) 
Access: 2022-07-28 11:50:49.134939844 +0530 
Modify: 2022-07-28 11:50:26.683334414 +0530 
Change: 2022-07-28 11:50:26.683334414 +0530 
 Birth: 2022-07-27 09:59:26.061843845 +0530

示例-2

如果要使用ls查看文件的访问时间,请在命令中添加 -u 参数 –

$ ls -l code.py

输出

以下是上述命令的输出 –

-rw-r--r-- 1 sarika sarika 225 Jul 28 11:50 code.py

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程