Python实现删除重复视频文件的方法详解
作者:冫马讠成 发布时间:2022-06-16 03:24:29
标签:Python,删除,重复,视频,文件
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)
效果图:
代码说明:使用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)
效果图:
代码说明:这里主要是循环取值的应用,以及用到了filecmp这个文件对比库。
删除重复文件
#删除集合里的文件
for i in new_set:
os.remove(i)
效果图:
删除前
删除后
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


猜你喜欢
- 如果PyPi上搜html2text的话,找到的是另外一个库:Alir3z4/html2text。这个库是从aaronsw/html2text
- 所有数据库mysqlcheck --auto-repair -A -o -uroot -pyigeorg单一数据库mysqlcheck --
- 流读写很多时候,数据读写不一定是文件,也可以在内存中读写。1、StringIO:在内存中读写str。要把str写入StringIO,我们需要
- 爬虫与反爬虫,这相爱相杀的一对,简直可以写出一部壮观的斗争史。而在大数据时代,数据就是金钱,很多企业都为自己的网站运用了反爬虫机制,防止网页
- asp时间加减运算 和转换问题 a=2007-07-24 2:23:15 b=2005-06-25 2:23:15 问题1 如何将a转换成2
- 今天给大伙分享一下 Python 爬虫的教程,这次主要涉及到的是关于某 APP 的逆向分析并抓取数据,关于 APP 的反爬会麻烦一些,比如
- vue-cli npm解决vue项目中缺失core-js报错This dependency was not found:core-js/mo
- 下面是BeforeInitialBind事件过程:<SCRIPT language=vbscript event=
- 如下所示:安装kafka支持库pip install kafka-pythonfrom kafka import KafkaProducer
- 前言之前接触到的数据库死锁,都是批量更新时加锁顺序不一致而导致的死锁,但是上周却遇到了一个很难理解的死锁。借着这个机会又重新学习了一下mys
- 开发工具**Python版本:**3.6.4相关模块:pyecharts模块;以及一些Python自带的模块。环境搭建安装Python并添加
- 变量不是盒子在示例所示的交互式控制台中,无法使用“变量是盒子”做解释。图说明了在 Python 中为什么不能使用盒子比喻,而便利贴则指出了变
- 1:除非你现在已经过了不惑之年了,否则你就一定要保持年轻人特有的激情!这里的激情,包含了那种说不明白的近似于冲动的东西,或者idea。也包含
- 前言python图像识别一般基础到的就是tesseract了,在爬虫中处理验证码广泛使用。安装安装教程网上大都差不多,Windows下确实比
- 看到这个先思考,自己怎么输出他?为什么它有颜色?特殊符号去哪找?特殊符号在符号大全找 符号大全http://www.fhdq.net/任务1
- 远控终端的本质1、服务端(攻击者)传输消息 ----> socket连接 ----> 客户端(被攻击者)接收消息2、客户端执行消
- 我们知道,dropout一般都在训练的时候使用,那么测试的时候如何也开启dropout呢?在pytorch中,网络有train和eval两种
- Mimesis是一个用于Python的高性能伪数据生成器, 支持多种不同的语言可以用来生成各种测试数据、假的 API 、任意结构的
- 本文实例分析了Python中的对象,方法,类,实例,函数用法。分享给大家供大家参考。具体分析如下:Python是一个完全面向对象的语言。不仅
- Python快捷键相关设置,具体内容如下1、主题毫无疑问Pycharm是一个具有强大快捷键系统的IDE,这就意味着你在Pycharm中的任何