Python匹配同名不同后缀的文件
一、前言
是这样的,之前手机备份图片到电脑,由于苹果拍照开了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)
三、效果
大功告成,????,直接导入即可。赶紧试试吧。
网站栏目:Python匹配同名不同后缀的文件
浏览地址:http://hbruida.cn/article/dsopcgs.html