1. 程式人生 > 實用技巧 >用 Python 讀取檔案和照片的建立日期

用 Python 讀取檔案和照片的建立日期

本文記錄,如何使用 Python 來抓取,圖片或者檔案的,建立日期,修改日期


1. 讀取照片建立日期(._getexif())


from PIL import Image

imgPath = 'C:/Users/xx/Desktop/xxxxx.jpg'
imge = Image.open(imgPath)
exif_data = imge._getexif()
ImageDate = exif_data[306]

print(ImageDate)

# >>> Output:
# >>> 2015:11:07 16:55:42

這種方法,尤其適用於照片資料的讀取。使用._getexif()

方法,不止能讀取建立日期,還能讀取很多相機的資料,例如,光圈,焦距什麼的。

但是這種方法,有一個不足!就是,在批量讀取照片日期的時候,有些照片日期的格式不一樣,會導致處理上的不方便!


2. 讀取檔案或照片建立日期(os.path.getmtime())


import os
import time

imgPath = 'C:/Users/xx/Desktop/xxxxx.jpg'
ImageDate = time.ctime(os.path.getmtime(imgPath))

print(ImageDate)

# >>> Output:
# >>> Thu Mar  2 22:00:37 2017

這個方法,更為簡單,而且解決了,方法1中的,日期不統一的問題。

但是要注意:這個os.path.getmtime()的方法呢,實際上是抓取的檔案的‘修改日期’;所以,如果是照片,那麼這個方法得到的就是,建立日期;但是如果是 Excel 文件類的檔案,那麼得到的就是你上次儲存這個檔案的日期,並非建立日期;

若是想得到 Excel 檔案的建立日期,而非修改日期,那麼就需要使用另一個方法os.path.getctime()即可!其實os.path方法中,還有很多使用的小功能,實則是居家必備好幫手!


3. 讀取檔案狀態中的建立日期(os.stat())


import os
imgPath = 'C:/Users/HP/Desktop/Book10.xlsm'
ImageDate = time.ctime(os.stat(imgPath).st_mtime)

print(ImageDate)

# >>> Output:
# >>> Wed Aug 26 11:39:32 2020

這種方法,和第二種方法很像;只不過是用,os.stat()的方法,讀取了檔案的各種屬性資訊,然後用os.stat(imgPath).st_mtime選擇建立時間,這個屬性!


篇尾結語:

OK,就先寫到這兒吧!這幾個是比較常用的方法,要是發現了新的,會再來更新。小白貢獻,語失莫怪,希望對大家有幫助。
喜歡我的部落格,就請來關注吧:Bitssea
(^_^)