From a9c38d5baf851e19c33171f556bd80dde6f92f65 Mon Sep 17 00:00:00 2001 From: hnu202210040318 <411814431@qq.com> Date: Tue, 23 May 2023 01:49:49 +0800 Subject: [PATCH] ADD file via upload --- 照片分类.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 照片分类.py diff --git a/照片分类.py b/照片分类.py new file mode 100644 index 0000000..abfe0ff --- /dev/null +++ b/照片分类.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- + +# 导入模块 +import os , ezexif , shutil + +#从键盘输入路径 +PhotoPath = input("请输入照片所在文件夹:") + +# 使用函数os.listdir()获取所有待处理照片文件列表 +photoList = os.listdir(PhotoPath) + +# 遍历文件列表 +for photo in photoList: + # 使用os.path.join()函数组合得到照片文件路径,并赋值给变量photoPath + photoPath = os.path.join(PhotoPath, photo) + # 获取exif信息 + exifInfo = ezexif.process_file(photoPath) + # 获取拍摄时间 + takeTime = exifInfo["EXIF DateTimeOriginal"] + # 通过空格分隔成拍摄日期和拍摄时间 + takeTimeParts = takeTime.split(" ") + # 分隔后的字符串列表第一个元素就是拍摄日期,赋值给变量photoDate + photoDate = takeTimeParts[0] + # 再把拍摄日期通过冒号分隔,分成年、月、日三部分,赋值给变量photoDateParts + photoDateParts = photoDate.split(":") + # 利用格式化字符串拼出文件夹名称 + targetFolderName = f"{photoDateParts[0]}年{photoDateParts[1]}月" + # 使用os.path.join()函数拼出分类文件夹的路径, 并赋值给photoTargetPath变量 + photoTargetPath = os.path.join(PhotoPath, targetFolderName) + + # 如果目标文件夹不存在,使用os.mkdir()函数创建文件夹 + if not os.path.exists(photoTargetPath): + os.mkdir(photoTargetPath) + + # 移动到目标文件夹 + shutil.move(photoPath, photoTargetPath) \ No newline at end of file