用户工具

站点工具


程序设计:python:照片整理
# -*- coding: utf-8 -*-  
 
""" 
功能:对照片按照拍摄时间进行归类 
使用方法:将脚本和照片放于同一目录,双击运行脚本即可 
作者:冰蓝 
"""  
 
 
import shutil  
import os  
import time  
import exifread  
 
 
class ReadFailException(Exception):  
    pass  
 
def getOriginalDate(filename):  
    try:  
        fd = open(filename, 'rb')  
    except:  
        raise ReadFailException, "unopen file[%s]\n" % filename  
    data = exifread.process_file( fd )  
    if data:  
        try:  
            t = data['EXIF DateTimeOriginal']  
            return str(t).replace(":",".")[:7]  
        except:  
            pass  
    state = os.stat(filename)  
    return time.strftime("%Y.%m", time.localtime(state[-2]))  
 
 
def classifyPictures(path):  
    for root,dirs,files in os.walk(path,True):  
        dirs[:] = []  
        for filename in files:  
            filename = os.path.join(root, filename)  
            f,e = os.path.splitext(filename)  
            if e.lower() not in ('.jpg','.png','.mp4'):  
                continue  
            info = "文件名: " + filename + " "  
            t=""  
            try:  
                t = getOriginalDate( filename )  
            except Exception,e:  
                print e  
                continue  
            info = info + "拍摄时间:" + t + " "  
            pwd = root +'/'+ t  
            dst = pwd + '/' + filename  
            if not os.path.exists(pwd ):  
                os.mkdir(pwd)  
            print info, dst  
            shutil.copy2( filename, dst )  
            os.remove( filename )  
 
if __name__ == "__main__":  
    path = "."  
    classifyPictures(path)  
程序设计/python/照片整理.txt · 最后更改: 2023/06/13 05:25 由 127.0.0.1