如何使用 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