python匹配变量(Python匹配同名不同后缀的文件)
导读:一、前言 是这样的,之前手机备份图片到电脑,由于苹果拍照开了Live模式,所以它导出的图片有一个2秒的视频(.mov 跟一张静态图(.jpg / .heic ,静态图输出取决当时导出的选项。 现在想恢复到手机,导入发现Live图不能动了。...
一 、前言
是这样的 ,之前手机备份图片到电脑 ,由于苹果拍照开了Live模式 ,所以它导出的图片有一个2秒的视频(.mov) 跟一张静态图(.jpg / .heic) ,静态图输出取决当时导出的选项 。 现在想恢复到手机 ,导入发现Live图不能动了 。
欸 无非就是找到两个同名的 ,然后移到另一个文件夹嘛 ,一开始还想手动移一看2000多张...
二 、 代码
#!/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)三、效果
大功告成,? ,直接导入即可 。赶紧试试吧 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!