欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

準(zhǔn)備工作

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

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

pip install exifread
pip install Pillow

代碼實現(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)
# 測試
classify_images_by_date(
    'C:/Users/olive/Desktop/待分類的圖片',
    'C:/Users/olive/Desktop/分類后的圖片')

代碼解析

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

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

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

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

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

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

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

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

激動人心的測試

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

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

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

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

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

我們再看一下,不是我們自己拍攝的照片,有沒有日期呢:

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

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

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

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

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

好了,接下來就運行一下吧。

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

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

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

ok,歸類成功!

最后,我們再看下【待分類的圖片】的那個文件夾:

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

結(jié)語

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

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

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

相關(guān)文章

  • 如何用Python進(jìn)行回歸分析與相關(guān)分析

    如何用Python進(jìn)行回歸分析與相關(guān)分析

    這篇文章主要介紹了如何用Python進(jìn)行回歸分析與相關(guān)分析,這兩部分內(nèi)容會放在一起講解,文中提供了解決思路以及部分實現(xiàn)代碼,需要的朋友可以參考下
    2023-03-03
  • Dialog 按照順序彈窗的優(yōu)雅寫法

    Dialog 按照順序彈窗的優(yōu)雅寫法

    這篇文章主要介紹了Dialog 按照順序彈窗的寫法及示例,給大家介紹了DrawType的使用方式,需要的朋友可以參考下
    2021-09-09
  • 一張圖帶我們?nèi)腴TPython基礎(chǔ)教程

    一張圖帶我們?nèi)腴TPython基礎(chǔ)教程

    啄木鳥社區(qū)上原始翻譯后繪制的,最早這個圖是出現(xiàn)在,這個圖太棒了,有編程基礎(chǔ)的人一下子就了解 Python 的用法了。真正的 30 分鐘上手,需要的朋友可以參考下
    2017-02-02
  • Python人工智能之sg2im文字轉(zhuǎn)圖像

    Python人工智能之sg2im文字轉(zhuǎn)圖像

    這篇文章主要介紹了Python人工智能中使用sg2im把文字轉(zhuǎn)成圖像的方法,sg2im是一個由Google開發(fā)的開源項目,它專注于將場景圖形轉(zhuǎn)換為圖像,借助sg2im就可以把文字轉(zhuǎn)換成圖像,需要的朋友可以參考下
    2021-11-11
  • pytorch查看通道數(shù) 維數(shù) 尺寸大小方式

    pytorch查看通道數(shù) 維數(shù) 尺寸大小方式

    這篇文章主要介紹了pytorch查看通道數(shù) 維數(shù) 尺寸大小方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 使用Python快速搭建文件傳輸服務(wù)的方法

    使用Python快速搭建文件傳輸服務(wù)的方法

    這篇文章主要介紹了使用Python快速搭建一個文件傳輸服務(wù),這樣任何一個人都能打開瀏覽器把他電腦上的文件傳給我了,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • 用pycharm開發(fā)django項目示例代碼

    用pycharm開發(fā)django項目示例代碼

    這篇文章主要介紹了用pycharm開發(fā)django項目示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 基于Pytorch的神經(jīng)網(wǎng)絡(luò)之Regression的實現(xiàn)

    基于Pytorch的神經(jīng)網(wǎng)絡(luò)之Regression的實現(xiàn)

    本文主要介紹了基于Pytorch的神經(jīng)網(wǎng)絡(luò)之Regression的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Python利用cv2動態(tài)繪制圓和矩形的示例詳解

    Python利用cv2動態(tài)繪制圓和矩形的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Python如何利用cv2實現(xiàn)動態(tài)繪制圓和矩形的功能,文中的示例代碼講解詳細(xì),具有一定的參考價值,需要的可以參考一下
    2023-03-03
  • python語音信號處理詳細(xì)教程

    python語音信號處理詳細(xì)教程

    在深度學(xué)習(xí)中,語音的輸入都是需要處理的,下面這篇文章主要給大家介紹了關(guān)于python語音信號處理的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01

最新評論