发布时间:2022-11-15 文章分类:编程知识 投稿人:赵颖 字号: 默认 | | 超大 打印

一、前言

是这样的,之前手机备份图片到电脑,由于苹果拍照开了Live模式,所以它导出的图片有一个2秒的视频(.mov) 跟一张静态图(.jpg / .heic),静态图输出取决当时导出的选项。 现在想恢复到手机,导入发现Live图不能动了。

欸 无非就是找到两个同名的,然后移到另一个文件夹嘛,一开始还想手动移一看2000多张...

Python匹配同名不同后缀的文件

二、 代码

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import shutil
if __name__ == '__main__':
    # 只需要修改这两个路径即可使用
    path = "D:\\11_Backup\\iPhone\\20"  # 图片跟视频存放的路径
    outputPath = "D:\\11_Backup\\Temp"  # 输出的路径 ,推荐在同盘下的路径
    list = os.listdir(path)
    jpgList = []
    heicList = []
    movList = []
    sDict = {}
    # 搜索出jpg heic mov 分别放进list保存
    for item in list:
        if item.endswith('.JPG') or item.endswith('.jpg'):
            jpgList.append(item)
        if item.endswith('.HEIC') or item.endswith('.heic'):
            heicList.append(item)
        if item.endswith('.MOV') or item.endswith('.mov'):
            movList.append(item)
    # 使用.mov匹配 含有jpg heic,匹配成功保存到sDict字典中
    for i in movList:
        for j in jpgList:
            if i[:-4] == j[:-4]:
                sDict[i] = j
                break
        for k in heicList:
            if i[:-4] == k[:-5]:
                sDict[i] = k
                break
    # 移动文件
    for k, v in sDict.items():
        shutil.move(path + "\\" + k, outputPath + "\\" + k)
        shutil.move(path + "\\" + v, outputPath + "\\" + v)

三、效果

Python匹配同名不同后缀的文件
Python匹配同名不同后缀的文件

大功告成,?,直接导入即可。赶紧试试吧。