【办公类-04-03】华为助手导出照片视频分类(根据图片、视频的文件名日期分类导出)

背景需求:

用华为手机助手导出的照片视频,只能将jpg照片(exifread读取图片的exif拍摄日期,Png、JPEG、mp4都无法识别到exif信息)

【办公类-04-02】华为助手导出照片(jpg)读取拍摄时间分类导出,JPEG、png、MP4不行)-CSDN博客文章浏览阅读750次,点赞10次,收藏10次。【办公类-04-02】华为助手导出照片(jpg)读取拍摄时间分类导出,JPEG、png、MP4不行)https://blog.csdn.net/reasonsummer/article/details/139450591

实现需求

所以我想直接根据图片、视频的文件名中的日期,将照片分类的同名文件夹内

素材准备:

原始照片(文件名中'_'分割的第1组就是日期)

运行代码后会生成一个空的照片整理2

代码展示:

python 复制代码
'''
华为手机助手导出的照片,根据照片、视频的文件名中的日期,进行转移
IMG_20240428_085357.jpg
VID_20240603_131241.mp4
作者:星火讯飞,阿夏
时间:2024年6月16日
'''

import os
import re
from datetime import datetime


folder_path = r'D:\03照片导出'
new_folder = r'D:\04照片整理2'
os.makedirs(new_folder,exist_ok=True)

file_names = os.listdir(folder_path)
result_list = []

for file_name in file_names:
    split_name = re.split("_", file_name)

    if len(split_name[1])==8:        # 如果第一组的字符长度=8,保留,,
        # result_list.append(split_name[1])
        date_obj = datetime.strptime(split_name[1], "%Y%m%d")
        new_folder_name = date_obj.strftime("%Y-%m-%d")
        print(new_folder_name)
        # 在照片整理文件里新建日期文件夹
        new_folder_path = os.path.join(new_folder, new_folder_name)
        os.makedirs(new_folder_path,exist_ok=True)
        # 转移照片或视频
        os.rename(os.path.join(folder_path, file_name), os.path.join(new_folder_path, file_name))
    
    else: #  如果第一组的字符长度=3  img,放弃
        pass

结果展示


源文件中jpg和MP4已经没有了,还剩一些png和JPEG文件

把HZT的图片(包含日期)也转移

python 复制代码
'''
华为手机助手导出的照片,根据照片、视频的文件名中的日期,进行转移
IMG_20240428_085357.jpg
VID_20240603_131241.mp4
作者:星火讯飞,阿夏
时间:2024年6月16日
'''

import os
import re
from datetime import datetime


folder_path = r'D:\03照片导出'
new_folder = r'D:\04照片整理2'
os.makedirs(new_folder,exist_ok=True)

file_names = os.listdir(folder_path)

for file_name in file_names:
    split_name = re.split("_", file_name)

    if len(split_name[1])==8:        # 如果第一组的字符长度=8,保留,,
        # result_list.append(split_name[1])
        date_obj = datetime.strptime(split_name[1], "%Y%m%d")
        new_folder_name = date_obj.strftime("%Y-%m-%d")
        print(new_folder_name)
        # 在照片整理文件里新建日期文件夹
        new_folder_path = os.path.join(new_folder, new_folder_name)
        os.makedirs(new_folder_path,exist_ok=True)
        # 转移照片或视频
        os.rename(os.path.join(folder_path, file_name), os.path.join(new_folder_path, file_name))

    if len(split_name[1])==3:        #  # HZT_IMG_2024051716133950  格式的  
        date_obj = datetime.strptime(split_name[2][:8], "%Y%m%d")
        new_folder_name = date_obj.strftime("%Y-%m-%d")
        print(new_folder_name)
        # 在照片整理文件里新建日期文件夹
        new_folder_path = os.path.join(new_folder, new_folder_name)
        os.makedirs(new_folder_path,exist_ok=True)
        # 转移照片或视频
        os.rename(os.path.join(folder_path, file_name), os.path.join(new_folder_path, file_name))
    
    else: #  如果第一组的字符长度=3  img,放弃
        pass

检测一张照片转移

剩下两张

最终效果:

相关推荐
P.D.Wei2 分钟前
[Leetcode 3524] 求出数组的X值I
python·学习
weixin199701080162 小时前
《二手ERP对接闲鱼API:聚石塔强制入塔后的架构重构实录》(附Python源码)
python
小白快快跑哦2 小时前
python-字符串全解(六):正则表达式-转义与非转义
python·正则表达式·转义与非转义
IvanCodes8 小时前
Python 数据处理(十三):JSON、CSV 与数据序列化
开发语言·python
Patrick在香港9 小时前
Claude 工具调用返回空:8 次失败里只有 1 次状态码不对,其余全带 200
爬虫·python·api·claude·香港
Web3&Basketball9 小时前
CRM Agent 后训练实战:3 倍更少错误
python·架构·大模型·agent·推理
AIFQuant10 小时前
ETF行情API接入踩坑记:从报错到跑通的七个问题
python·金融·区块链·etf·基金
GPU实战笔记11 小时前
云端 Python 开发:JupyterLab 还是 VS Code Remote-SSH?
python·vs code·jupyterlab·remote-ssh·远程开发
狗狗狗狗狗乐啊12 小时前
搭一个 AI 对话工作台 AChat:从 0 到可用的完整记录(一)
python·react.js·ai编程
白猫不黑12 小时前
Python实现简易Web弱口令爆破与防护方案
python·web安全·计算机·网络安全·黑客·信息安全·渗透测试