如何在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

更新於:2023年11月2日

13K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.