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

python讓圖片按照exif信息里的創(chuàng)建時間進行排序的方法

 更新時間:2015年03月16日 09:01:25   作者:八大山人  
這篇文章主要介紹了python讓圖片按照exif信息里的創(chuàng)建時間進行排序的方法,涉及Python操作圖片exif獲取信息的技巧,需要的朋友可以參考下

本文實例講述了python讓圖片按照exif信息里的創(chuàng)建時間進行排序的方法。分享給大家供大家參考。具體分析如下:

我們經(jīng)常會從不同的設(shè)備里取出照片,比如照相機,手機,iphone等等,操作系統(tǒng)記錄的創(chuàng)建日期經(jīng)常 會因為拷貝等原因變動,下面的代碼可以給圖片按照exif里的創(chuàng)建時間進行排序,非常有用。

復制代碼 代碼如下:

import os
import shutil
import Image
from PIL.ExifTags import TAGS
def print_all_known_exif_tags():
    for k in sorted(TAGS):
        print k, TAGS[k]
def print_all_exif_tags(image):
    try:
        img = Image.open(image)
    except Exception, e:
        print image, "skipping due to", e
    else:
        xf = img._getexif()
        for tag in xf:
            print TAGS.get(tag), xf[tag]
    finally:
        print 'done'
def get_minimum_creation_time(exif_data):
    mtime = "?"
    if 306 in exif_data and exif_data[306] < mtime: # 306 = DateTime
        mtime = exif_data[306]
    if 36867 in exif_data and exif_data[36867] < mtime: # 36867 = DateTimeOriginal
        mtime = exif_data[36867]
    if 36868 in exif_data and exif_data[36868] < mtime: # 36868 = DateTimeDigitized
        mtime = exif_data[36868]
    return mtime
def get_creationdate_with_filename_as_dict(list_of_folders):
    print "Processing all image files in:"
    result = {}
    for folder in list_of_folders:
        print "- " + folder
        counter = 0
        for f in os.listdir(folder):
            counter += 1
            fullFileName = folder + "\\" + f
            try:
                img = Image.open(fullFileName)
            except Exception, e:
                print "    Skipping '%s' due to exception: %s"%(f, e)
                continue
            mtime = get_minimum_creation_time(img._getexif())
            i = 0
            while mtime+"_"*i in result:
                i += 1
            mtime = mtime+"_"*i
            result[mtime] = fullFileName
        print "  Found %s orignal files in %s."%(counter, folder)
    print "Added total of %s to dictionary."%len(result)
    return result
def copy_from_image_dict_to_directory(image_dict, output_dir):
    assert os.path.exists(output_dir)
    for i,key in enumerate(sorted(image_dict)):
        dummy, extension =  os.path.splitext(image_dict[key])
        new_file_name = key.replace(":", "-") + extension
        output_file = output_dir + new_file_name
        shutil.copy2(image_dict[key], output_file)
    print "Copied %s files to %s"%(i+1, output_dir)
if __name__=="__main__":
    source_dir = "/var/tmp/images"
    output_dir = "/var/tmp/output"
    # obtain /var/tmp/images/iPhone, /var/tmp/images/CanonPowerShot, /var/tmp/images/Nikon1
    list_of_folders = [source_dir + subfolder for subfolder in os.listdir(source_dir)]
    all_files = get_creationdate_with_filename_as_dict(list_of_folders)
    copy_from_image_dict_to_directory(all_files, output_dir)

希望本文所述對大家的Python程序設(shè)計有所幫助。

相關(guān)文章

  • python獲取命令行參數(shù)實例方法講解

    python獲取命令行參數(shù)實例方法講解

    在本篇文章里小編給大家整理的是一篇關(guān)于python獲取命令行參數(shù)實例方法講解內(nèi)容,有興趣的朋友們可以學習下。
    2020-11-11
  • Python利用Turtle繪畫簡單圖形

    Python利用Turtle繪畫簡單圖形

    這篇文章主要介紹了Python利用Turtle繪畫簡單圖形,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • Python判斷一個文件夾內(nèi)哪些文件是圖片的實例

    Python判斷一個文件夾內(nèi)哪些文件是圖片的實例

    今天小編就為大家分享一篇Python判斷一個文件夾內(nèi)哪些文件是圖片的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python?字符替換的四方法

    Python?字符替換的四方法

    本文主要介紹了Python?字符替換的四方法,主要包括replace、translate、maketrans?和正則這是四種方法,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • Python搭建NLP模型的步驟和代碼詳解

    Python搭建NLP模型的步驟和代碼詳解

    這篇文章主要為大家詳細介紹了Python搭建NLP模型的詳細步驟,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-03-03
  • Win7上搭建Cocos2d-x 3.1.1開發(fā)環(huán)境

    Win7上搭建Cocos2d-x 3.1.1開發(fā)環(huán)境

    現(xiàn)在,越來越多的公司采用Cocos2d-x 3.0來開發(fā)游戲了,但是現(xiàn)在這樣的文章并不多,所以打算寫一系列來幫助初學者快速掌握Cocos2d-x 3.0。首先就從開發(fā)環(huán)境的大家說起吧
    2014-07-07
  • Python開發(fā)的HTTP庫requests詳解

    Python開發(fā)的HTTP庫requests詳解

    Requests是用Python語言編寫,基于urllib,采用Apache2 Licensed開源協(xié)議的HTTP庫。它比urllib更加方便,可以節(jié)約我們大量的工作,完全滿足HTTP測試需求。Requests的哲學是以PEP 20 的習語為中心開發(fā)的,所以它比urllib更加Pythoner。更重要的一點是它支持Python3哦!
    2017-08-08
  • Python Http請求json解析庫用法解析

    Python Http請求json解析庫用法解析

    這篇文章主要介紹了Python Http請求json解析庫用法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • python實現(xiàn)選取或刪除指定列包含指定內(nèi)容的行

    python實現(xiàn)選取或刪除指定列包含指定內(nèi)容的行

    這篇文章主要介紹了python實現(xiàn)選取或刪除指定列包含指定內(nèi)容的行,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Flask框架編寫文件下載接口過程講解

    Flask框架編寫文件下載接口過程講解

    這篇文章主要介紹了Flask框架編寫文件下載接口的過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-01-01

最新評論

河源市| 邯郸县| 察哈| 宝鸡市| 太原市| 大安市| 庆城县| 新营市| 浑源县| 庆城县| 都兰县| 五指山市| 玉环县| 乐清市| 莲花县| 南城县| 阳新县| 石棉县| 云和县| 平昌县| 河间市| 杭州市| 仙桃市| 来宾市| 贡山| 德江县| 尉犁县| 板桥市| 梨树县| 元氏县| 山西省| 永济市| 黄龙县| 榆社县| 山东省| 东兴市| 鲁甸县| 佛冈县| 阿瓦提县| 许昌县| 镇康县|