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

作者:冫马讠成 时间:2022-06-16 03:24:29 

Python自动化办公之删除重复的视频文件

获取所有文件路径

import os
import filecmp
file_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_list2
   file_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,里面是需要比较的共同文件名称。

来源:https://mp.weixin.qq.com/s/rj5hlatzHD7o5Z4V9rJsbQ

标签:Python,删除,重复,视频,文件
0
投稿

猜你喜欢

  • 如何判断JavaScript变量的类型

    2009-02-25 12:28:00
  • SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)

    2012-07-21 14:45:15
  • python多线程编程方式分析示例详解

    2023-05-13 04:56:01
  • 互联网产品的用户体验看着“很美”

    2009-07-07 12:04:00
  • Django中实现点击图片链接强制直接下载的方法

    2023-08-03 13:29:19
  • 用画为5.12地震受灾同胞们祈福

    2008-05-20 12:08:00
  • 快速入手Python字符编码

    2022-05-26 00:52:33
  • Python实现Opencv cv2.Canny()边缘检测

    2022-12-01 13:26:37
  • 细化解析:MySQL 数据库中对XA事务的限制

    2009-01-14 11:59:00
  • 数据库开发总结(ADO.NET小结)

    2024-01-17 06:42:16
  • asp添加数据实现代码

    2011-02-05 10:42:00
  • mysql 5.7.14 下载安装、配置与使用详细教程

    2024-01-15 14:39:25
  • 两个非常规ASP木马(可躲过扫描)

    2011-03-11 10:38:00
  • python的import 机制是怎么实现的

    2021-02-22 14:39:11
  • 详解 Python 读写XML文件的实例

    2022-05-03 23:36:15
  • mysql清空表数据的两种方式和区别解析

    2024-01-18 09:40:40
  • linux中使用boost.python调用c++动态库的方法

    2023-01-19 19:21:03
  • python爬取网页转换为PDF文件

    2023-02-11 08:48:24
  • ASP分页函数

    2009-07-06 12:41:00
  • 详细了解 MySQL锁机制

    2010-08-08 09:04:00
  • asp之家 网络编程 m.aspxhome.com