8行代码实现Python文件去重

目录
  • 需求描述
  • 撸代码ing

需求描述

上周突然接到一个任务,要通过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文件去重内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python实现MD5进行文件去重的示例代码

    目录 前言 工作原理 代码 前言 工作中偶尔会遇到文件去重的事情,收到一大堆文件,名称各不相同,分析文件的时候发现有不少重复的文件,导致工作效率低下,那么,这里就写了一个python脚本实现文件去重功能 工作原理 脚本会检查你给出的文件路径下的所有文件,然后计算每个文件的MD5值,并将其加入到一个列表中. 如果某文件的MD5值不在列表中,就认定其是我们需要的文件,脚本会在桌面新建一个名为"去重结果"的文件夹,并将其复制到里面去. 如果某文件的MD5值在列表中,就认定其不是我们需要的文件

  • Python实现的txt文件去重功能示例

    本文实例讲述了Python实现的txt文件去重功能.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #! python2 import shutil a=0 readDir = "/Users/Administrator/Desktop/old.txt" #old writeDir = "/Users/Administrator/Desktop/new.txt" #new # txtDir = "/home/Administ

  • 对python读写文件去重、RE、set的使用详解

    如下所示: # -*- coding:utf-8 -*- from datetime import datetime import re def Main(): sourcr_dir = '/data/u_lx_data/fudan/muying/muying_11yue_all.txt' target_dir = '/data/u_lx_data/fudan/muying/python/uid_regular_get.txt' uset = set() #去重 print("开始.....&q

  • 8行代码实现Python文件去重

    目录 需求描述 撸代码ing 需求描述 上周突然接到一个任务,要通过XX网站导出XX年-XX年之间的数据,导出后的文件名就是对应日期,导出后发现,竟然有的文件大小是一样,但文件名又没有重复,所以打开文件看了下,确实重复了,原因暂时不清楚,预测是网站的原因,最后发现大概只有 30% 的数据没有重复.我淦! 啥也不说,首要任务还是把那些没有重复的文件给筛选出来,或是删除重复的文件.文件很多几百个,通过一个个的对比文件去删除估计又要加班,然后突然想到 Python 有个内置的 filecmp 能够貌似

  • 程序员的七夕用30行代码让Python化身表白神器

    转眼又到了咱们中国传统的情人节七夕了,今天笔者就带大家来领略一下用Python表白的方式.让程序员的恋人们感受一下IT人的浪漫.    一.词云制作 首先咱们可以用之前介绍过的wordcould包制作词云.wordcloud包安装十分简单.pip即可完成安装 pip install wordclould 然后需要制作一个背景图片,为了应急我用艺术字做了个七夕的图片,如果大家来不及直接图片另存为使用下图即可. 具体制作的词云的代码如下: from wordcloud import WordClou

  • 500行代码使用python写个微信小游戏飞机大战游戏

    这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手. 帮助蹲厕族.YP族.饭圈女孩在无聊之余可以有一样东西让他们振作起来!让他们的左手 / 右手有节奏有韵律的朝着同一个方向来回移动起来! 这是史诗级的发明,是浓墨重彩的一笔,是-- 在一阵抽搐后,我结束了游戏,瞬时觉得一切都索然无味,正在我进入贤者模式时,突然想到,如果我可以让更多人已不同的方式体会到这种美轮美奂的感觉岂不美哉? 所以我打开电脑,创建了一个 plan_game.py-- 先

  • 几行代码让 Python 函数执行快 30 倍

    目录 1.Python 多线程处理的基本指南 2.多处理入门 3.它为什么如此重要? 4.实现 5.基准测试 Python 是一种流行的编程语言,也是数据科学社区中最受欢迎的语言.与其他流行编程语言相比,Python 的主要缺点是它的动态特性和多功能属性拖慢了速度表现.Python 代码是在运行时被解释的,而不是在编译时被编译为原生代码. 1.Python 多线程处理的基本指南 C 语言的执行速度比 Python 代码快 10 到 100 倍.但如果对比开发速度的话,Python 比 C 语言要

  • 几行代码让 Python 函数执行快 30 倍

    目录 1.Python 多线程处理的基本指南 2.多处理入门 3.它为什么如此重要? 4.实现 5.基准测试 Python 是一种流行的编程语言,也是数据科学社区中最受欢迎的语言.与其他流行编程语言相比,Python 的主要缺点是它的动态特性和多功能属性拖慢了速度表现.Python 代码是在运行时被解释的,而不是在编译时被编译为原生代码. 1.Python 多线程处理的基本指南 C 语言的执行速度比 Python 代码快 10 到 100 倍.但如果对比开发速度的话,Python 比 C 语言要

  • 不到20行代码用Python做一个智能聊天机器人

    伴随着自然语言技术和机器学习技术的发展,越来越多的有意思的自然语言小项目呈现在大家的眼前,聊天机器人就是其中最典型的应用,今天小编就带领大家用不到20行代码,运用两种方式搭建属于自己的聊天机器人. 1.神器wxpy库 首先,小编先向大家介绍一下本次运用到的python库,本次项目主要运用到的库有wxpy和chatterbot. wxpy是在 itchat库 的基础上,通过大量接口优化,让模块变得简单易用,并进行了功能上的扩展.什么是接口优化呢,简单来说就是用户直接调用函数,并输入几个参数,就可以

  • 用60行代码实现Python自动抢微信红包

    春节来到,红包们大概率在微信各大群中肆虐,大家是否都一样不抢到红包们心里就感觉错过了一个亿,可总会被这事那事耽误而遗憾错过,下面用 Python 写一个自动抢红包代码 启动入口 启动程序的配置和公众号文章<用 Python + Appium 的方式自动化清理微信僵尸好友>的配置一样 from appium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui

  • 不到40行代码用Python实现一个简单的推荐系统

    什么是推荐系统 维基百科这样解释道:推荐系统属于资讯过滤的一种应用.推荐系统能够将可能受喜好的资讯或实物(例如:电影.电视节目.音乐.书籍.新闻.图片.网页)推荐给使用者. 本质上是根据用户的一些行为数据有针对性的推荐用户更可能感兴趣的内容.比如在网易云音乐听歌,听得越多,它就会推荐越多符合你喜好的音乐. 推荐系统是如何工作的呢?有一种思路如下: 用户 A 听了 收藏了 a,b,c 三首歌.用户 B 收藏了 a, b 两首歌,这时候推荐系统就把 c 推荐给用户 B.因为算法判断用户 A,B 对音

  • 基于Python制作一个文件去重小工具

    目录 前言 实现步骤 补充 前言 常常在下载网络素材时有很多的重复文件乱七八糟的,于是想实现一个去重的操作. 主要实现思路就是遍历出某个文件夹包括其子文件夹下面的所有文件,最后,将所有文件通过MD5函数的对比筛选出来,最后将重复的文件移除. 实现步骤 用到的第三方库都比较的常见,其中只有hashlib是用来对比文件的不是很常见.其他的都是一些比较常见的第三方库用来做辅助操作. import os # 应用文件操作 import hashlib # 文件对比操作 import logging #

  • 用Python自动清理电脑内重复文件,只要10行代码(自动脚本)

    给定一个文件夹,使用Python检查给定文件夹下有无文件重复,若存在重复则删除 主要涉及的知识点有: os模块综合应用 glob模块综合应用 利用filecmp模块比较两个文件 步骤分析 该程序实现的逻辑可以具化为: 遍历获取给定文件夹下的所有文件,然后通过嵌套循环两两比较文件是否相同,如果相同则删除后者. 实现问题的关键就变成了 如何判断两个文件是否相同? 在这里我们可以使用filecmp模块,来看看官方的介绍文档: filecmp.cmp(f1, f2, shallow=True) 比较名为

随机推荐