能给我提供一个Python脚本,用于根据照片文件名中的日期将不同时间拍摄的照片自动分组并存入相应文件夹进行档案管理吗?
时间: 2024-10-25 14:08:52 浏览: 9
python自动办公源码_Python从多路径多Excel表中获取数据并存入新表.rar
当然,我可以为你提供一个简单的Python脚本示例,这个脚本使用`os`, `datetime`, 和 `shutil` 模块,假设照片都在当前目录下,并且文件名遵循 "YYYY-MM-DD_HH-MM-SS.jpg" 的格式。你可以根据实际情况对文件名模式和路径进行修改。
```python
import os
from datetime import datetime
def organize_photos():
# 定义源目录和目标目录
src_dir = '.'
dest_dir = 'organized_by_date'
# 创建目标目录(如果不存在)
if not os.path.exists(dest_dir):
os.makedirs(dest_dir)
# 遍历源目录下的所有文件
for filename in os.listdir(src_dir):
# 确定文件是否为图片
if filename.endswith('.jpg') or filename.endswith('.png'):
try:
# 解析文件名中的日期
date_str = filename.split('_')[0]
date_obj = datetime.strptime(date_str, '%Y-%m-%d')
# 计算新文件夹的完整路径
dest_subdir = os.path.join(dest_dir, date_obj.strftime('%Y/%m'))
# 如果子目录不存在,创建它
if not os.path.exists(dest_subdir):
os.makedirs(dest_subdir)
# 将文件移动到对应的子目录
shutil.move(os.path.join(src_dir, filename), dest_subdir)
except ValueError as e:
print(f"无法处理文件 {filename}: {e}")
# 运行脚本
organize_photos()
```
运行此脚本后,它会在指定的根目录下创建按年月划分的子目录,然后将照片移至相应的子目录中。请记得先保存这个脚本并给它适当的权限才能执行。
阅读全文