iprogramer 发表于 2022-4-9 12:52

python一键按照时间整理照片

import shutil
import os
import time
import exifread



def getfiles(rootdir):
    fileset = []   
    for home, dirs, files in os.walk(rootdir):
      for filename in files:
            print(filename)
            fileset.append(os.path.join(home,filename))
    return fileset


def getOriginalDate(filename):
    try:
      fd = open(filename, 'rb')
    except Exception as e:
      print(e)
    data = exifread.process_file( fd )
    if data:
      try:
            t = data['EXIF DateTimeOriginal']
            return str(t).replace(":",".")[:7]
      except Exception as e:
            print(e)
    state = os.stat(filename)
    return time.strftime("%Y.%m", time.localtime(state[-2]))


def classifyPictures(file_path_name,des_path):

    file_name = os.path.basename(file_path_name)
    t=""
    try:
      t = getOriginalDate(file_path_name)
    except Exception as e:
      print(e)
    info = "文件名: " + file_name + " "
    info = info + "拍摄时间:" + t + " "
    print(info)   
    dst = os.path.join(des_path,t)
    if not os.path.exists(dst):
      os.mkdir(dst)
    shutil.copy2(file_path_name,dst)

if __name__ == "__main__":   

    source_path = 'D:\迅雷下载\图片视频'   #待整理的图片目录   
    des_path = 'E:\\Picture'#整理后存放目录

    fileset= getfiles(source_path) #获取待整理图片目录下所有文件地址
    total = len(fileset)    #待整理文件数量
    for index,file_path_name in enumerate(fileset):
      print('共{}个文件,正在处理{}个文件'.format(total,index))      
      classifyPictures(file_path_name,des_path)

iprogramer 发表于 2022-4-9 21:20

jinmouyuzhao 发表于 2022-4-9 17:13
安装好了python,环境路径配置好了,但是打开这个py文件就闪退

安装好python,按住Win+R,输入cmd命令,然后输入
pip install exifread
安装好exifread这个模块后,定位到main.py文件,在框里面输入python main.py,就开始运行了
闪退可能你没改程序里面source_path和des_path这两个目录吧
source_path是你存储待整理照片的目录
des_path是你存储整理后文件存储位置

jinmouyuzhao 发表于 2022-4-9 17:13

iprogramer 发表于 2022-4-9 15:17
安装python环境,然后代码保存为main.py文件运行就可以了

安装好了python,环境路径配置好了,但是打开这个py文件就闪退

iprogramer 发表于 2022-4-9 13:07

效果

jinmouyuzhao 发表于 2022-4-9 14:10

怎么用?

yaojia 发表于 2022-4-9 15:03

不觉名利

iprogramer 发表于 2022-4-9 15:17

jinmouyuzhao 发表于 2022-4-9 14:10
怎么用?

安装python环境,然后代码保存为main.py文件运行就可以了

studyalife 发表于 2022-4-9 19:18

py文件不是双击运行的,如果可以,最好安装一下pycharm

jinmouyuzhao 发表于 2022-4-10 08:10

iprogramer 发表于 2022-4-9 21:20
安装好python,按住Win+R,输入cmd命令,然后输入
pip install exifread
安装好exifread这个模块后,定 ...

好的,感谢大佬,膜拜{:1_893:}

laobj 发表于 2022-5-25 08:38

感谢原创分享 {:1_893:}
页: [1] 2
查看完整版本: python一键按照时间整理照片