主页 > 知识库 > 8行代码实现Python文件去重

8行代码实现Python文件去重

热门标签:电梯新时达系统外呼显示e 百应电话机器人总部 宿州电话机器人哪家好 成都呼叫中心外呼系统哪家强 南昌地图标注 西青语音电销机器人哪家好 地图标注与注销 旅游厕所地图标注怎么弄 无锡智能外呼系统好用吗

需求描述

上周突然接到一个任务,要通过XX网站导出XX年-XX年之间的数据,导出后的文件名就是对应日期,导出后发现,竟然有的文件大小是一样,但文件名又没有重复,所以打开文件看了下,确实重复了,原因暂时不清楚,预测是网站的原因,最后发现大概只有 30% 的数据没有重复。我淦!


啥也不说,首要任务还是把那些没有重复的文件给筛选出来,或是删除重复的文件。文件很多几百个,通过一个个的对比文件去删除估计又要加班,然后突然想到 Python 有个内置的 filecmp 能够貌似是比较文件的,于是乎就有了这篇文章~

撸代码ing

导出的文件都是保存在同一文件夹下的,格式也相同。然后,上网查了下 filecmp.cmp() 的用法。

filecmp.cmp(f1, f2, shallow=True)

f1/f2:待比较的两个文件路径。shallow :默认为True,即只比较os.stat()获取的元数据(创建时间,大小等信息)是否相同,设置为False的话,在对比文件的时候还要比较文件内容。
from pathlib import Path
import filecmp

path_list = [path for path in Path(r'C:\Users\pc\Desktop\test').iterdir() if path.is_file()]

for front in range(len(path_list) - 1):
    for later in range(front + 1, len(path_list)):
        if filecmp.cmp(path_list[front], path_list[later], shallow=False):
            path_list[front].unlink()    # 删除文件
            break

为了防止代码有问题,我先创建了一个 test 文件夹,在文件夹下手动创建了6个文件,1~5中只有1,2,3,4,5对应的数字内容,第6个为空文件。


之后再将文件全部复制一份。


▶️运行效果

到此这篇关于8行代码实现Python文件去重的文章就介绍到这了,更多相关Python文件去重内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • python实现MD5进行文件去重的示例代码
  • 对python读写文件去重、RE、set的使用详解
  • Python实现的txt文件去重功能示例

标签:七台河 渭南 辛集 雅安 潍坊 西安 赣州 许昌

巨人网络通讯声明:本文标题《8行代码实现Python文件去重》,本文关键词  8行,代码,实现,Python,文件,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《8行代码实现Python文件去重》相关的同类信息!
  • 本页收集关于8行代码实现Python文件去重的相关信息资讯供网民参考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推荐文章