本文記錄,如何使用 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[36867]
# 或者 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
(^_^)
