Python办公自动化——8行代码实现文件去重
Python办公自动化——8行代码实现文件去重
- 需求描述
- 撸代码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 filecmppath_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个为空文件。
之后再将文件全部复制一份。
▶️运行效果
Python办公自动化——8行代码实现文件去重相关推荐
- Python百日百行代码挑战-day8,day9,day10,游戏实战系列-五子棋
Python百日百行代码挑战-day8,day9,day10,游戏实战系列-五子棋 写在前面 需要用到的工具包和参考 游戏设定 初始化 切换下棋方 判断五子连珠(核心) 鼠标点击流程事件 成品展示 打 ...
- Python简单几行代码实现黑客电影镜头屏幕画面
Python简单几行代码实现黑客电影镜头屏幕画面 通过几行简单的Python代码实现炫酷的数据流动效果 一.Python版本:Python3 二.操作示范 为了显得更加牛逼 逼真,通常不会直接运行源代 ...
- 教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!!
教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!! 代码展示: 开发环境: windows10 python3.6 开发工具: pycharm weddriver 库: sel ...
- 【python】15行代码实现猫脸检测(opencv)
文章目录 1. 项目简介 2. 项目地址 3. 依赖模块 4. 完整代码 5. 必要组件 5.1. haar级联特征分类器(精度高) 5.2. lbp级联特征分类器(速度快) 6. 成果展示 6.1. ...
- 【python】60行代码实现给头像戴上圣诞帽(opencv)
文章目录 1. 成果展示 2. 项目简介 3. 项目地址 4. 预备知识 5. 完整代码 6. 必要组件 7. 圣诞素材 8. 引用参考 9. 软件下载 1. 成果展示 2. 项目简介 原理很简单,就 ...
- 【python】15行代码实现人脸检测(opencv)
文章目录 1. 项目简介 2. 项目地址 3. 依赖模块 4. 完整代码 5. 必要组件 5.1. haar级联特征分类器(精度高) 5.2. lbp级联特征分类器(速度快) 6. 成果展示 6.1. ...
- python皮卡丘编程代码_再接再厉,用python编程13行代码解方程组(纯字符)
因为是示例为主,我们将方程组限制在二元一次方程组:x,y两个变量,两个方程.类似这样: 每个方程有两个变量,x和y,形式为:ax+by+c=d 由于这次有了两个方程,我们提取参数的代码就适合提炼为一个 ...
- 【python】20行代码实现有道翻译api接口调用
文章目录 1. 目标站点 2. 完整代码 3. 测试样例 3.1. 测试样例Ⅰ(汉译英) 3.2. 测试样例Ⅱ(英译汉) 4. 调用文档 4.1. 接口地址 4.2. 请求方法 4.3. 请求参数 4 ...
- python动态粒子素材,Python 技术篇-3行代码实现Gif动画生成,Gif动画素材获取方法...
Python 技术篇-3行代码实现Gif动画生成,Gif动画素材获取方法 Python 技术篇-3行代码实现Gif动画生成,Gif动画素材获取方法 我们需要用到 imageio 库,直接pip ins ...
- Python 办公自动化,一键给PDF文件加密,超方便
作者 | 欣一 来源 | Python爱好者集中营 今天给大家做一个给PDF文件加密的GUI界面(图形用户界面),方便现在的一些上班族白领们使用,尤其是需要给一些比较重要的PDF文件加密的时候,下面我 ...
最新文章
- Java8 Stream应用:Map合并、过滤、遍历、values int求和等
- 3-unit10 iptables
- lzg_ad:使用Virtual PC 部署和测试XP Embedded 发布镜像
- css阻止input select默认事件
- 利用java反射调用类的的私有方法
- 工业级光电转换器产品介绍
- 通过微型计算机的电流,单板微型计算机控制的电流型变频调速系统
- python自学要多久-python从入门到精通需要多久?你需要先明白这两个点
- memcache的安装和使用
- (16)python_random学习笔记
- 英文版 《UNIX 网络编程.卷一 (UNIX Network Programming .volume1. 3rd edition)》(pdf)高清精校版下载
- 三维扫描仪[11]——总结并展望基于Kinect的三维扫描仪
- python当前时间获取_python 当前时间获取方法
- thinkpadt410接口介绍_thinkpadt410价格与评测介绍【图文】
- 搭建一个属于自己的服务器,并实现内网穿透(外网访问本地服务器功能)
- android 的语言适配
- 2020蓝桥杯python——纪念日
- Deci and Centi Seconds parsing in java
- 软件工程小组需求分析--快递代领
- 小米设备跨版本降级后相机打不开陀螺仪无法工作解决办法