python图片文件快速整理代码
时间: 2024-09-19 11:04:08 浏览: 35
在Python中,我们可以使用os模块以及一些图像处理库如PIL (Pillow) 来对图片文件进行快速整理。这里有一个基本的例子,它会创建一个目录结构,将所有图片按照日期或大小分类:
```python
import os
from PIL import Image
def sort_images(directory):
# 定义目标目录
target_dir = "sorted_images"
# 检查并创建目标目录
if not os.path.exists(target_dir):
os.makedirs(target_dir)
for filename in os.listdir(directory):
# 只处理.jpg或.png类型的文件
if filename.endswith(('.jpg', '.jpeg', '.png')):
img_path = os.path.join(directory, filename)
# 打开图片获取元数据
with Image.open(img_path) as im:
try:
# 获取修改时间(例如)
modified_time = im._getexif().get(36867)
size = os.path.getsize(img_path)
# 创建子目录根据时间或大小
sub_dir = "by_date" if modified_time else "by_size"
sub_dir_path = os.path.join(target_dir, sub_dir)
if not os.path.exists(sub_dir_path):
os.makedirs(sub_dir_path)
new_path = os.path.join(sub_dir_path, filename)
# 移动图片到新的子目录
os.rename(img_path, new_path)
except Exception as e:
print(f"Error processing {img_path}: {e}")
# 使用函数
sort_images("unsorted_directory")
```
这个脚本首先检查图片是否以.jpg、.jpeg 或 .png 结尾,然后打开图片获取修改时间和尺寸信息。根据这些信息,它会在目标目录下创建“by_date”或“by_size”子目录,并移动图片到相应的子目录。
阅读全文