如何使用 Python 讀取文件和照片的創(chuàng)建日期
本文記錄,如何使用 Python 來抓取,圖片或者文件的,創(chuàng)建日期,修改日期
1. 讀取照片創(chuàng)建日期(._getexif())
from PIL import ImageimgPath = ’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
這種方法,尤其適用于照片數(shù)據(jù)的讀取。使用._getexif()方法,不止能讀取創(chuàng)建日期,還能讀取很多相機(jī)的數(shù)據(jù),例如,光圈,焦距什么的。這種方法來抓取,照片的拍攝日期,是比較準(zhǔn)確的。因?yàn)?,很多照片的,?chuàng)建日期,修改日期,都不是拍攝日期!
但是這種方法,有一個(gè)不足!就是,在批量讀取照片日期的時(shí)候,有些照片日期的格式不一樣,會(huì)導(dǎo)致處理上的不方便!
2. 讀取文件或照片創(chuàng)建日期(os.path.getmtime())
import osimport timeimgPath = ’C:/Users/xx/Desktop/xxxxx.jpg’ImageDate = time.ctime(os.path.getmtime(imgPath))print(ImageDate)# >>> Output:# >>> Thu Mar 2 22:00:37 2017
這個(gè)方法,更為簡(jiǎn)單,而且解決了,方法1中的,日期不統(tǒng)一的問題。
但是要注意:這個(gè)os.path.getmtime()的方法呢,實(shí)際上是抓取的文件的‘修改日期’;所以,如果是照片,那么這個(gè)方法得到的就是,創(chuàng)建日期;但是如果是 Excel 文檔類的文件,那么得到的就是你上次保存這個(gè)文件的日期,并非創(chuàng)建日期;
若是想得到 Excel 文件的創(chuàng)建日期,而非修改日期,那么就需要使用另一個(gè)方法os.path.getctime()即可!其實(shí)os.path方法中,還有很多使用的小功能,實(shí)則是居家必備好幫手!
但是要注意:同上提到的,很多照片的,創(chuàng)建日期,修改日期,都不是拍攝日期!
3. 讀取文件狀態(tài)中的創(chuàng)建日期(os.stat())
import osimgPath = ’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選擇創(chuàng)建時(shí)間,這個(gè)屬性!
到此這篇關(guān)于用 Python 讀取文件和照片的創(chuàng)建日期的文章就介紹到這了,更多相關(guān) Python 讀取文件和照片的創(chuàng)建日期內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 基于android studio的layout的xml文件的創(chuàng)建方式2. 解決Android studio xml界面無法預(yù)覽問題3. 詳解Android studio 動(dòng)態(tài)fragment的用法4. 圖文詳解vue中proto文件的函數(shù)調(diào)用5. 什么是python的自省6. Spring Boot和Thymeleaf整合結(jié)合JPA實(shí)現(xiàn)分頁(yè)效果(實(shí)例代碼)7. Android如何加載Base64編碼格式圖片8. 使用Android studio查看Kotlin的字節(jié)碼教程9. Vuex localStorage的具體使用10. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)

網(wǎng)公網(wǎng)安備