如何使用 Python 檢查檔案的最後訪問時間?


可以使用多種不同的方法在 Python 中獲取檔案的最後訪問日期時間。以下將使用 OS 模組方法來獲取 Python 中檔案的最後訪問時間。

使用 os.path.getatime() 方法

在 Python 中,我們可以使用 os.path.getatime() 方法來檢索路徑的最後訪問時間。此方法獲取需要驗證訪問時間的路徑。返回的值是一個浮點數,表示自紀元以來的時間。

如果無法訪問或不存在請求的路徑,則會引發 OSError 異常。

語法

os.path.getatime(path)

示例 - 1

filepath 表示要驗證其最後訪問時間的檔案的路徑。

last_access_time 是我們使用 os.path.getatime 讀取的最後訪問時間。

最後一行使用 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('File Last access time is: {}'.format(datetime.datetime.fromtimestamp(last_access_time)))

輸出

以下是上述程式碼的輸出:

File Last access time is: 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'

注意 - 除了使用 time.localtime() 之外,我們還可以使用 time.gmtime() 來獲取 UTC 時區的最後訪問時間,如下所示:

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

使用 os.stat() 方法

它以檔案的路徑作為引數,並返回檔案的 stat 資訊作為 os.stat 結果物件。它包含許多關於檔案的資訊,例如它的模式、連結型別、訪問或修改時間等。

語法

os.stat(filepath)

示例

訪問包含最近訪問時間(以秒為單位)的欄位 st_atime,以從 os.stat 結果物件中獲取最近的訪問時間。然後,使用 time.ctime 將其轉換為可讀的格式。

以下是一個使用 os.stat 方法檢查檔案最後訪問時間的示例:

import os import stat import time # get the the stat_result object filePath = os.stat ("C:\Users\Lenovo\Downloads\Work TP\trial.py") # Get last access time 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

更新於:2022年8月18日

2K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告