导入依赖

'''导入依赖'''

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十行代码实现文件去重,去除重复文件的脚本的更多相关文章

  1. 10行Python代码自动清理电脑内重复文件,解放双手!

    大家好,又到了Python办公自动化系列. 今天分享一个系统层面的自动化案例: 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做 ...

  2. Linux合并文件、去除重复行的命令

    Linux合并文件命令: awk '{printf("%s\n",$0)}' YQ-*101?.txt >  123.txt   linux去除重复行命令:cat YQ-10 ...

  3. Python高效率遍历文件夹寻找重复文件

    前言 为什么要写这篇文章呢...主要还是业务中有个需求,遍历一个将近200w数据的文件夹,大部分还都是视频文件那种,但是这玩意用的次数还不多,做文件夹index也不是很ok,所以写了一个脚本来处理这个 ...

  4. 【java】递归统计本地磁盘所有文件,提取重复文件,JDK8 map迭代

    package com.sxd.createDao; import java.io.File; import java.time.LocalDateTime; import java.util.Has ...

  5. 【python3】Python十行代码搞定文字转语音

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:万能搜吧 都是copy的百度SDK文档,简单说说怎么用. 1.没安装Py ...

  6. Javascript一句代码实现JS字符串去除重复字符

    需求: 原字符串:abcdabecd 去重后字符串:abcde JS字符串去重,一个简单需求,网上找案例发现都是一大堆代码,对于强迫症的我 实再无法忍受,于是自己手动写出一段代码,完美解决该问题. 代 ...

  7. Python NLTK——代码重用,F5运行py文件cmd闪退,invalid syntax

    打开IDLE,对代码进行保存(Ctrl+S)后,代码都是可以运行的. 但是打开文件就会弹出cmd并闪退,截了好几次图发现报的是Invalid syntax的错. 后来发现应该在IDLE中新建一个fil ...

  8. Linux查找并删除重复文件的命令行fdupes工具,dupeGuru图形工具

    查了几十个网页,找到这个接近满意的解决方案http://unix.stackexchange.com/questions/146197/fdupes-delete-files-aft... 不过正则里 ...

  9. shell脚本之删除内容相同的重复文件

    #!/bin/bash #!当前文件夹下,删除内容相同的重复文件,只保留重复文件中的一个. ls -lS --time-style=long-iso | awk 'BEGIN{ getline;get ...

随机推荐

  1. box-shadow详解

    今天课堂上有学生问到box-shadow这个属性,那么下面我们就来详细的解说下这个属性它的用法,box-shadow是css3中的一个属性,它可以向框添加一个或多个阴影. 首先我们来看它的语法: bo ...

  2. windows使用nvm管理node不同版本

    最近项目需要升级,新技术需要的node版本较高,而新node不兼容旧版本node,而原项目仍需要继续维护,所以就需要在本地有多个版本的node,基本原理是在环境配置中修改系统变量node的版本文件夹路 ...

  3. P7324 [WC2021] 表达式求值

    P7324 [WC2021] 表达式求值 闲话 WC2021 我只得了 20 分,三道题总共 20 分.我是下场了突然后知后觉这件事的,主要原因是我开了 C++11,然后 T1 T2 都没分了.在洛谷 ...

  4. Geoserver通过ajax跨域访问服务数据的方法(含用户名密码认证的配置方式)

    Goeserver数据有两种,一种需进行用户密码的权限认证,一种无须用户密码.对于网上跨域访问Geoserver数据的种种方法,对这2种数据并非通用. 笔者将Geoserver官方下载的Geoserv ...

  5. C++模板封装Win32 API 动态调用

    起因 花两周通读了一遍<C++ Primer>,积攒的疑惑一扫而光. 前因 利用C++11可变模板,封装调用dll导出函数 本以为已经很好用了,最近抽时间巩固下知识体系,发现自己道行不够! ...

  6. 痞子衡嵌入式:深扒i.MXRTxxx系列ROM中集成的串行NOR Flash启动SW Reset功能及其应用场合

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRTxxx系列ROM中集成的串行NOR Flash启动SW Reset功能及其应用场合. 在串行 NOR Flash 热启动过程 ...

  7. nexus 私服 设置本公司代理 记录

    index成功

  8. vue中this.$router.push()路由传值和获取的两种常见方法

    1.路由传值   this.$router.push() (1) 路由跳转使用router.push()方法,这个方法会向history栈添加一个新纪录,所以,当用户点击浏览器后退按钮时,会回到之前的 ...

  9. 20分钟掌握Android Gradle

    目前国内对Android领域的探索已经越来越深,不少技术领域如插件化.热修复.构建系统等都对Gradle有迫切的需求,不懂Gradle将无法完成上述事情.所以Gradle必须要学习. Gradle 里 ...

  10. 线性代数期末大总结I

    行列式 n阶行列式的计算: \[\left|\begin{matrix}a_{11} & a_{12} & \cdots & a_{1n} \\a_{21} & a_{ ...