最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python實(shí)現(xiàn)照片按照日期自動(dòng)分類的操作指南

 更新時(shí)間:2025年08月17日 10:35:37   作者:碼無止盡  
最近準(zhǔn)備把近幾年手機(jī)里面存儲(chǔ)的照片按年份分類存儲(chǔ)到硬盤里面,不知不覺累積了4000多張照片,人工一張張分類實(shí)在是太費(fèi)時(shí)間、也容易出錯(cuò),所以本文給大家介紹了使用Python實(shí)現(xiàn)照片按照日期自動(dòng)分類的操作指南,需要的朋友可以參考下

各位小伙伴們,別看這些張張圖片,它們也是有生日的哦!而今天,我們就要教你一招,讓Python幫助圖片自動(dòng)按照日期分類,讓這些鏡頭下的瞬間肆意自由,分門別類、慢慢成長!

準(zhǔn)備工作

首先,需要攜帶一顆善良而充滿創(chuàng)意的心,以及一顆熱愛技術(shù)的腦袋。另外,Python的os模塊、PIL庫(Python Imaging Library)、以及exifread庫也會(huì)是我們這次冒險(xiǎn)的得力工具!

沒有安裝PIL和exifread庫的,記得先安裝一下哦:

pip install exifread
pip install Pillow

代碼實(shí)現(xiàn)

from PIL import Image
import os
import exifread
from datetime import datetime
 
def get_image_date_taken(image_path):
    with open(image_path, 'rb') as image_file:
        tags = exifread.process_file(image_file)
        date_taken = tags.get('EXIF DateTimeOriginal')
        if date_taken:
            return datetime.strptime(str(date_taken), '%Y:%m:%d %H:%M:%S')
        else:
            return None
 
def classify_images_by_date(input_folder, output_folder):
    os.makedirs(output_folder, exist_ok=True)
    for filename in os.listdir(input_folder):
        input_path = os.path.join(input_folder, filename)
        if os.path.isfile(input_path):
            date_taken = get_image_date_taken(input_path)
            if date_taken:
                date_folder = date_taken.strftime('%Y-%m-%d')
                date_folder_path = os.path.join(output_folder, date_folder)
                os.makedirs(date_folder_path, exist_ok=True)
                output_path = os.path.join(date_folder_path, filename)
                os.replace(input_path, output_path)
# 測(cè)試
classify_images_by_date(
    'C:/Users/olive/Desktop/待分類的圖片',
    'C:/Users/olive/Desktop/分類后的圖片')

代碼解析

這段代碼不僅涉及到PIL庫的應(yīng)用、文件處理,更使用了exifread庫來獲取圖片的拍攝日期信息。Python就好像是一位時(shí)間旅行者,為圖片鐫刻上屬于它們自己的生日!

現(xiàn)在讓我來詳細(xì)解析一下:

1.首先,定義了一個(gè)名為get_image_date_taken的函數(shù),用于獲取圖片的拍攝日期。它通過讀取圖片的exif信息(EXIF是存儲(chǔ)在數(shù)碼照片文件中的附加信息,包括拍攝日期等),獲取圖片的拍攝日期,并返回一個(gè)datetime對(duì)象。

2.然后,定義了一個(gè)名為classify_images_by_date的函數(shù),用于分類圖片并保存到對(duì)應(yīng)日期的文件夾中。該函數(shù)接收兩個(gè)參數(shù):input_folder表示輸入圖片存放的文件夾路徑,output_folder表示分類后圖片保存的文件夾路徑。

3.在classify_images_by_date函數(shù)中,首先使用os.makedirs(output_folder,exist_ok=True)創(chuàng)建輸出文件夾,如果文件夾已存在則不會(huì)報(bào)錯(cuò)。

4.然后,遍歷輸入文件夾中的每張圖片。對(duì)于每張圖片,獲取圖片的完整路徑input_path,并進(jìn)行判斷是否為文件。

5.如果是文件,則調(diào)用get_image_date_taken函數(shù)獲取圖片的拍攝日期date_taken。如果成功獲取到日期,就根據(jù)日期創(chuàng)建對(duì)應(yīng)的文件夾,并將圖片移動(dòng)到該文件夾中。

6.最后,利用os.replace方法將圖片從原路徑移動(dòng)到新的分類路徑,并完成分類操作。

激動(dòng)人心的測(cè)試

跟著小編的腳步,將你的圖片帶入時(shí)間的長河吧!只需要將輸入文件夾路徑和輸出文件夾路徑傳入classify_images_by_date函數(shù),Python就能為你將圖片按照日期自動(dòng)分類,慢慢成長。

接下來,我們要開始測(cè)試代碼了,首先,我們準(zhǔn)備一些圖片,放在一個(gè)文件夾下:

我們會(huì)發(fā)現(xiàn),前面3張不是我們自己拍的照片(濫竽充數(shù)的,看看能不能蒙混過關(guān)??),后面的照片,文件名也是有點(diǎn)亂,甚至有些都看不出是什么時(shí)候拍的。

這里再多啰嗦兩句,我們深究一下圖片的日期究竟是被記錄在了哪里:

我們隨便選擇一張照片,對(duì)它右擊,選擇屬性,就跳出了如下所示的一個(gè)彈框。然后,我們點(diǎn)詳細(xì)信息這個(gè)選項(xiàng)卡,然后在屬性中,找到來源下的拍攝日期,它的值,就是我們實(shí)際拍攝照片的時(shí)間。

我們?cè)倏匆幌?,不是我們自己拍攝的照片,有沒有日期呢:

我們看到,這張圖片的拍攝日期是空白的。

好了,接下來要執(zhí)行我們的代碼了,激動(dòng)人心的時(shí)刻終于來了。

首先,還是要改一下測(cè)試的那行代碼,再上面的代碼中的最后一行:

# 測(cè)試
classify_images_by_date(
    'C:/Users/olive/Desktop/待分類的圖片',
    'C:/Users/olive/Desktop/分類后的圖片')

注意,兩個(gè)文件夾的路徑要改成你自己的哦!

好了,接下來就運(yùn)行一下吧。

很快,幾乎沒有等待,瞬間完成!

我們看到,此時(shí)在我們的桌面上就多了一個(gè)【分類后的圖片】的文件夾:

非常棒,果然出現(xiàn)了按日期歸類的文件夾,我們點(diǎn)開看一下,照片是不是歸類進(jìn)來了:

ok,歸類成功!

最后,我們?cè)倏聪隆敬诸惖膱D片】的那個(gè)文件夾:

果然,不是我們拍的照片,呆在原地了,在我們機(jī)智的Python面前,所有的妖精無處遁形,哈哈!

結(jié)語

這篇文章讓我們一起見證了圖片的成長,讓這些瞬間在時(shí)間的長河里慢慢自由生長、分門別類。希望這個(gè)教程能為你的圖片分類之旅增添一絲樂趣和意義!

在未來的某一天,你回過頭來,會(huì)發(fā)現(xiàn)這些個(gè)個(gè)鏡頭下的瞬間,其實(shí)也在悄悄地留下了生日。

到此這篇關(guān)于使用Python實(shí)現(xiàn)照片按照日期自動(dòng)分類的操作指南的文章就介紹到這了,更多相關(guān)Python照片按日期自動(dòng)分類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

建平县| 西乌珠穆沁旗| 肃宁县| 靖西县| 阿拉善盟| 雷州市| 屯门区| 普兰店市| 梁山县| 长泰县| 新和县| 淅川县| 南乐县| 长宁区| 阿拉善右旗| 胶南市| 衡东县| 湖口县| 长泰县| 吉木乃县| 互助| 巴青县| 康乐县| 江口县| 日照市| 滦平县| 宣威市| 东丰县| 陇南市| 南昌县| 辛集市| 尚志市| 阿巴嘎旗| 铜川市| 冷水江市| 静海县| 全南县| 本溪| 英德市| 富蕴县| 定州市|