Python实现删除重复视频文件的方法详解

目录

  • Python自动化办公之删除重复的视频文件
    • 获取所有文件路径
    • 获取所有重复文件,添加到一个列表
    • 删除重复文件

Python自动化办公之删除重复的视频文件
获取所有文件路径
import osimport filecmpfile_list=[]new_list=[]path=r"F:\FileRecv\删除文件测试"for a,b,c in os.walk(path):#print(a)for j in c:file=a+'\\'+j#print(file)file_list.append(file)

效果图:
Python实现删除重复视频文件的方法详解
文章图片

代码说明:使用os.walk(path)方法来获取所有文件名,循环添加进一个列表。

获取所有重复文件,添加到一个列表
# 同时遍历file_list列表的下标和元素for index,file_name1 in enumerate(file_list):# 每循环一次就切片生成file_name1之后的列表file_list2file_list2 = file_list[index +1:]# 如果生成的file_list2列表里只有一个文件,两两对比不成立时 就停止循环if len(file_list2) == 1: break# 遍历每一个file_list2 下的文件与file_name1文件做比对for file_name2 in file_list2: res1 = filecmp.cmp(file_name1,file_name2, shallow=True)#print(f'{file_name1}和{file_name1}对比')???????#如果对比相同if res1:#添加进准备删除的集合new_set.add(file_name1)print(new_set)

效果图:
Python实现删除重复视频文件的方法详解
文章图片

代码说明:这里主要是循环取值的应用,以及用到了filecmp这个文件对比库。

删除重复文件
#删除集合里的文件for i in new_set:os.remove(i)

效果图:
删除前
Python实现删除重复视频文件的方法详解
文章图片

删除后
Python实现删除重复视频文件的方法详解
文章图片

filecmp库知识拓展:
filecmp是python内置的一个模块,用于比较文件及文件夹的内容。
filecmp由两个主要的方法,filecmp.cmp(f1, f2, [shallow])和filecmp.cmpfiles(a, b, common, [shallow])。
1、如果单纯比较两个文件是否相同,可以通过filecmp.cmp(f1, f2, shallow=True)实现。其中f1、f2是文件名,shallow=True,则通过文件的元信息比较是否一致,如果是False,则比较两个文件内容。
2、如果非递归比较两个目录中的一组文件,可以选择通过filecmp.cmpfiles(dir1, dir2, common, shallow=True)实现。其中dir1、dir2是两个文件夹,common是list,里面是需要比较的共同文件名称。
【Python实现删除重复视频文件的方法详解】到此这篇关于Python实现删除重复视频文件的方法详解的文章就介绍到这了,更多相关Python删除重复视频文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读