Python 查找重复文件升级版-photodup

之前写了一个简化版的使用Python查找目录中的重复文件,现在升级了一下,我们来提供一个友好的网页界面。

思路

上一个版本我们非常简单粗暴地将所有文件的hash扫描后保存到一个字典中,字典结构大概是这样的:

然后通过一个循环找出hash值对应的数组长度大于1的数组,现在我们把这个扫描结果保存到数据库中,之后只要查询数据库即可找到重复的文件。

步骤

我们大致需要几个步骤就可以让程序跑起来:

表结构不需要太复杂:

然后开始扫描你要检查的目录。

你可以传入一个或者多个目录,默认只检索jpg文件,也可以修改 里的配置项来自定义。扫描结束后,启动web服务即可。

顺利的话用浏览器打开 http://127.0.0.1:5001 就可以看到一个友好的网页,可以通过文件hash或者文件名来清理重复文件,可以预览图片文件。

dup_by_hash

dup_by_name

原理&总结

升级后的重复文件清理工具总共也不过两三百行代码,欢迎到Github上阅读。photodup已经算是一个比较完整的程序,使用起来也方便了很多。改造过程中还是学到不少新东西,所以说不管你的想法多简单,真正动手去实现才会有收获。

项目地址:https://github.com/tobyqin/photodup

技术栈:Python, SQL, Flask, Bootstrap, Jquery, CSS.

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180403G1WKNI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券