大家在日常的工作和学习中,会面临到许多文件的处理,包括各种office文档、视频、图片等文件内容,有时候也会有很多文件重复存在,如果需要人工的方式来删除重复的文件会非常的复杂。
因此,菜鸟哥为大家制作了一款较为灵活的清道夫神器,帮助大家一键清除电脑重复文件,一起来看看吧。
01.效果展示
当我们想要查询哪个文件夹下重复的文件时,就将该软件放到对应的文件夹下,然后直接运行该软件,软件会给出重复的文件提示,点击确定后,重复的软件就会被删除。
02.程序设计思路
1).查询文件夹下所有的文件
对于文件夹下所有文件的查询,可以利用glob库中的glob函数来递归进行查询,程序如下图所示:
程序中,利用glob函数来递归的查询当前文件夹下所有的文件,并将文件保存到file_list列表当中,将file_list列表中的数据打印出来可以发现,所有的文件都是递归到最后的一个文件夹中,输出结果中不存在任何的文件夹。
2).判断文件是否重复
对于两个文件是否相同,这里的判断利用的是filecmp库中的cmp函数来进行实现。程序如下图所示:
程序中由于是对于file_list列表中的元素,利用cmp函数来进行两两的对比,所以为了避免重复的比较,需要将重复的文件从file_list列表中剔除,同时将重复的两个文件中的一个添加到del_list列表中,在后续的程序中删除该文件。
需要注意的是,cmp函数并不是简简单单的依靠两个文件名字是否重复来判断两个文件是否重复,而是通过两个文件的创建时间等文件属性来判断两个文件是否是重复的。
程序首先隐藏了主窗口,然后通过弹出的窗口,展示需要删除哪些重复的文件,当用户点击确定时,则会将重复的文件彻底的删除,点击取消时,则不会删除重复的文件。弹出窗口如下图所示:
总结
以上就是小编为大家带来的清道夫神器,程序打包的exe只有9M左右,大家可以直接下载exe文件到指定的文件夹下,进行效果的测试。
需要注意的是,如果一旦删除的话,重复的文件是找不回来的,所以大家需要三思而后行,当然大家可以下载源码,修改程序,将重复文件放入垃圾箱。大家一起来动手试一试吧。
需要源码,直接在下面的公众号「程序员GitHub」,后台输入:10行