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 ...
随机推荐
- box-shadow详解
今天课堂上有学生问到box-shadow这个属性,那么下面我们就来详细的解说下这个属性它的用法,box-shadow是css3中的一个属性,它可以向框添加一个或多个阴影. 首先我们来看它的语法: bo ...
- windows使用nvm管理node不同版本
最近项目需要升级,新技术需要的node版本较高,而新node不兼容旧版本node,而原项目仍需要继续维护,所以就需要在本地有多个版本的node,基本原理是在环境配置中修改系统变量node的版本文件夹路 ...
- P7324 [WC2021] 表达式求值
P7324 [WC2021] 表达式求值 闲话 WC2021 我只得了 20 分,三道题总共 20 分.我是下场了突然后知后觉这件事的,主要原因是我开了 C++11,然后 T1 T2 都没分了.在洛谷 ...
- Geoserver通过ajax跨域访问服务数据的方法(含用户名密码认证的配置方式)
Goeserver数据有两种,一种需进行用户密码的权限认证,一种无须用户密码.对于网上跨域访问Geoserver数据的种种方法,对这2种数据并非通用. 笔者将Geoserver官方下载的Geoserv ...
- C++模板封装Win32 API 动态调用
起因 花两周通读了一遍<C++ Primer>,积攒的疑惑一扫而光. 前因 利用C++11可变模板,封装调用dll导出函数 本以为已经很好用了,最近抽时间巩固下知识体系,发现自己道行不够! ...
- 痞子衡嵌入式:深扒i.MXRTxxx系列ROM中集成的串行NOR Flash启动SW Reset功能及其应用场合
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRTxxx系列ROM中集成的串行NOR Flash启动SW Reset功能及其应用场合. 在串行 NOR Flash 热启动过程 ...
- nexus 私服 设置本公司代理 记录
index成功
- vue中this.$router.push()路由传值和获取的两种常见方法
1.路由传值 this.$router.push() (1) 路由跳转使用router.push()方法,这个方法会向history栈添加一个新纪录,所以,当用户点击浏览器后退按钮时,会回到之前的 ...
- 20分钟掌握Android Gradle
目前国内对Android领域的探索已经越来越深,不少技术领域如插件化.热修复.构建系统等都对Gradle有迫切的需求,不懂Gradle将无法完成上述事情.所以Gradle必须要学习. Gradle 里 ...
- 线性代数期末大总结I
行列式 n阶行列式的计算: \[\left|\begin{matrix}a_{11} & a_{12} & \cdots & a_{1n} \\a_{21} & a_{ ...