给定一个文件夹,使用 Python 检查给定文件夹下有无文件重复,若存在重复则删除。
主要涉及的知识点有:
os 模块综合应用
glob 模块综合应用
利用 filecmp 模块比较两个文件
步骤分析
该程序实现的逻辑可以具化为:
遍历获取给定文件夹下的所有文件,然后通过嵌套循环两两比较文件是否相同,如果相同则删除后者。
实现问题的关键就变成了👇
如何判断两个文件是否相同?
在这里我们可以使用 filecmp 模块,来看看官方的介绍文档:
filecmp.cmp(f1, f2, shallow=True)
比较名为 f1 和 f2 的文件,如果它们似乎相等则返回 True ,否则返回 False
如果 shallow 为真,那么具有相同 os.stat () 签名的文件将会被认为是相等的。否则,将比较文件的内容。
所以可以这样使用👇
假设x和y两个文件是相同的
print(filecmp.cmp(x, y))
True
解决了这个问题,我们就可以开始写代码了!
Python 实现
导入需要的库并设置目标文件夹路径
import os
import glob
import filecmp
dir_path = r’C:\xxxx’
接着遍历获取所有文件的 绝对