python十行代码实现文件去重,去除重复文件的脚本
导入依赖
'''导入依赖'''
from pathlib import Path
import filecmp
函数说明
'''
filecmp.cmp(path1, path2, shallow=True)
path1/path2:待比较的两个文件路径。
shallow :默认为True,即只比较os.stat()获取的元数据(创建时间,大小等信息)是否相同,
设置为False的话,在对比文件的时候还要比较文件内容。
'''
提取待去重文件路径
# 初始化文件路径列表
path_files_list = []
# 遍历
for path in Path(r'/usr/load/data').iterdir():
# 校验是否为文件
if path.is_file():
# 加入到待去重文件列表
path_files_list.append(path)
# 遍历待去重文件
for file_index in range(len(path_files_list) - 1):
# 遍历,两辆比对
for later in range(file_index + 1, len(path_files_list)):
# 校验内容是否相同
if filecmp.cmp(path_files_list[file_index],
path_files_list[later], shallow=False):
# 内容相同、则删除
path_files_list[file_index].unlink()
break
【粉丝福利】关注公众号,获取全套视频资料,喜欢小编点个 '关注' 吧!
【往期精选】
● python的GUI框架tkinter,实现程序员的流氓式表白逻辑
● 探究python函数的不定长参数*args与**kwargs
● 没有深思过的python冷知识你知道几个?
● python图片处理,自动生成gif动态图片
● python-redis 的操作手法,相当简单的redis数据存储方式!
● python 日期、时间处理,各种日期时间格式/字符串之间的相互转换究竟是怎样的?
● python 内置的数据计数器Counter相当nice
● 几十行代码实现python发送邮件与接收邮件
● 梳理python路线知识盲区,最全面、最详细的python知识体系框架思维导图终于出炉了!
● 没有开发工具,在服务器控制台如何进行python代码调试,高级编程pdb代码调试!
● python中的set集合,元素的CRUD处理,交集/差集/并集计算,不只是能去重!
● python编程:yaml文件应用支持,轻松读取可配置参数!
● VsCode再出神器-Pylance,终于为python开发者也带来福利了!
● 灵魂发问:每个程序员心中都有自己的一套编码规范,你的代码别人能看懂吗?
本文由微信公众号【python 集中营】发布,更多精彩文章、视频资料即可领取!
python十行代码实现文件去重,去除重复文件的脚本的更多相关文章
- 10行Python代码自动清理电脑内重复文件,解放双手!
大家好,又到了Python办公自动化系列. 今天分享一个系统层面的自动化案例: 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做 ...
- Linux合并文件、去除重复行的命令
Linux合并文件命令: awk '{printf("%s\n",$0)}' YQ-*101?.txt > 123.txt linux去除重复行命令:cat YQ-10 ...
- Python高效率遍历文件夹寻找重复文件
前言 为什么要写这篇文章呢...主要还是业务中有个需求,遍历一个将近200w数据的文件夹,大部分还都是视频文件那种,但是这玩意用的次数还不多,做文件夹index也不是很ok,所以写了一个脚本来处理这个 ...
- 【java】递归统计本地磁盘所有文件,提取重复文件,JDK8 map迭代
package com.sxd.createDao; import java.io.File; import java.time.LocalDateTime; import java.util.Has ...
- 【python3】Python十行代码搞定文字转语音
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:万能搜吧 都是copy的百度SDK文档,简单说说怎么用. 1.没安装Py ...
- Javascript一句代码实现JS字符串去除重复字符
需求: 原字符串:abcdabecd 去重后字符串:abcde JS字符串去重,一个简单需求,网上找案例发现都是一大堆代码,对于强迫症的我 实再无法忍受,于是自己手动写出一段代码,完美解决该问题. 代 ...
- Python NLTK——代码重用,F5运行py文件cmd闪退,invalid syntax
打开IDLE,对代码进行保存(Ctrl+S)后,代码都是可以运行的. 但是打开文件就会弹出cmd并闪退,截了好几次图发现报的是Invalid syntax的错. 后来发现应该在IDLE中新建一个fil ...
- Linux查找并删除重复文件的命令行fdupes工具,dupeGuru图形工具
查了几十个网页,找到这个接近满意的解决方案http://unix.stackexchange.com/questions/146197/fdupes-delete-files-aft... 不过正则里 ...
- shell脚本之删除内容相同的重复文件
#!/bin/bash #!当前文件夹下,删除内容相同的重复文件,只保留重复文件中的一个. ls -lS --time-style=long-iso | awk 'BEGIN{ getline;get ...
随机推荐
- java并发编程基础——线程通信
线程通信 当线程在系统内运行时,程序通常无法准确的控制线程的轮换执行,但我们可以通过一些机制来保障线程的协调运行 一.传统的线程通信 传统的线程通信主要是通过Object类提供的wait(),noti ...
- 使用deepin连接罗技k380
1,刚开始总是连不上,连上了就断开了,以为是deepin系统的问题. 2,首先在华为论坛上找到这样的一片解决方案:https://cn.ui.vmall.com/thread-21831568-1-1 ...
- Python+API接口测试框架设计(pytest)
1.测试框架简介 整个接口测试框架的设计图如下: base:存放的是请求方法二次封装 common:存放的是自定义工具,操作excel,yaml文件等 data:存放的是公共动态数据,如data.xl ...
- 【洛谷P1140 相似基因】动态规划
分析 f[i][j] 表示 1数组的第i位和2数组的第j位匹配的最大值 f[1][1]=-2 f[2][1]=-2+5=3 f[3][1]=-2+5+5=8 三个决策: 1.由f[i-1][j-1]直 ...
- Cesium加载地形数据只显示半个地球
Cesium第0级地形包括两个瓦片:0/0/0.terrain,0/1/0.terrain,分别为左半球和右半球(具体参考:https://blog.csdn.net/u013929284/artic ...
- 深入源码理解Spring整合MyBatis原理
写在前面 聊一聊MyBatis的核心概念.Spring相关的核心内容,主要结合源码理解Spring是如何整合MyBatis的.(结合右侧目录了解吧) MyBatis相关核心概念粗略回顾 SqlSess ...
- couchdb(5984)未授权访问
启动环境 测试 poc地址 https://github.com/vulhub/vulhub/blob/master/couchdb/CVE-2017-12636/exp.py map -p 5984 ...
- Jenkins插件安装失败
插件安装失败 通常要下载国外的软件插件之类的时候,链接到国外会太慢或者被墙,这就需要我们去换镜像源 修改配置文件 我们在jenkins里更改升级站点的url后 若安装插件时还是一直卡在"安装 ...
- 利用 cgroup 的 cpuset 控制器限制进程的 CPU 使用
最近在做一些性能测试的事情,首要前提是控制住 CPU 的使用量.最直观的方法无疑是安装 Docker,在每个配置了参数的容器里运行基准程序. 对于计算密集型任务,在只限制 CPU 的需求下,直接用 L ...
- PS Lite - 源码解读
PostOffice 类 /** * \brief 系统的中心. */ class Postoffice { public: /** * \brief 返回单例对象. */ static Postof ...