摘要:之前寫了一個簡化版的使用查找目錄中的重復文件,現在升級了一下,我們來提供一個友好的網頁界面。掃描結束后,啟動服務即可。順利的話用瀏覽器打開就可以看到一個友好的網頁,可以通過文件或者文件名來清理重復文件,可以預覽圖片文件。
之前寫了一個簡化版的使用Python查找目錄中的重復文件,現在升級了一下,我們來提供一個友好的網頁界面。
思路上一個版本我們非常簡單粗暴地將所有文件的hash掃描后保存到一個字典中,字典結構大概是這樣的:
files = [{"hash1":["file/path...","file/path..."]}, {"hash2":["file/path...","file/path...","file/path..."]}, {"hash3":["file/path..."]}]
然后通過一個循環找出hash值對應的數組長度大于1的數組,現在我們把這個掃描結果保存到數據庫中,之后只要查詢數據庫即可找到重復的文件。
步驟我們大致需要幾個步驟就可以讓程序跑起來:
git clone https://github.com/tobyqin/photodup.git # 克隆代碼 cd photodup pip install -r requirements.txt # 安裝必要的依賴包 python db.py # 創建DB表結構
表結構不需要太復雜:
id | hash | name | path | Existed |
---|---|---|---|---|
1 | ab3d | DCS_001.JPG | path/to/DSC_001.JPG | 1 |
2 | 1d2c | DCS_002.JPG | path/to/DSC_002.JPG | 2 |
然后開始掃描你要檢查的目錄。
python scan.py dir1 dir2
你可以傳入一個或者多個目錄,默認只檢索jpg文件,也可以修改config.py里的配置項來自定義。掃描結束后,啟動web服務即可。
python web.py
順利的話用瀏覽器打開 http://127.0.0.1:5001 就可以看到一個友好的網頁,可以通過文件hash或者文件名來清理重復文件,可以預覽圖片文件。
原理&總結升級后的重復文件清理工具總共也不過兩三百行代碼,但是已經算是一個比較完整的程序,使用起來也方便了很多。升級過程中用到了前后端數據庫各方面的知識,不管你的想法多簡單,真正動手去實現才會有收獲。
項目地址:https://github.com/tobyqin/ph...
技術棧:Python, SQL, Flask, Bootstrap, Jquery, CSS.
關于作者:Toby Qin, Python 技術愛好者,目前從事測試開發相關工作,轉載請注明原文出處。
歡迎關注我的博客 https://betacat.online,你可以到我的公眾號中去當吃瓜群眾。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41715.html
摘要:處理重復文件最后一步非常簡單,把上一步建立的字典做一個簡單的過濾就能找到重復文件。 是這樣的,電腦上的堆積的照片有點多,而且重復的照片被放在了不同的目錄,占用的空間越來越大,數量也多得已經不太適合人工分辨整理,寫個Python腳本來處理吧。 文件的唯一標識 - MD5 假如你要處理的重復文件有不同的文件名,最簡單的辦法就是通過MD5來確定兩個文件是不是一樣的。 def md5sum(f...
摘要:安裝基本是一路下一步,需要注意的地方小胖網上找了幾張圖來說明。這里可以自定選擇需要安裝的東西小胖選擇完全安裝,隨便你們選擇安裝路徑但是需要注意不要選擇一個叫的東西,否則可能要很長時間都一直在執行安裝,是一個圖形界面管理工具。 Overview: 環境 前言 效果圖 mongdb安裝 代碼涉及知識點 關于windows的cmd下執行python文件顯示中文亂碼的問題 總結 0.環境 ...
摘要:一個用來做數據遷移的擴展,一般都是結合使用,在上一篇文章中我也介紹了這個擴展,需要的小伙伴可以看一下,后續我會將更深層的寫出來。 flask-migrate一個用來做數據遷移的falsk擴展,一般都是結合flask-sqlalchemy使用,在上一篇文章中我也介紹了這個擴展,需要的小伙伴可以看一下,后續我會將flask-sqlalchemy更深層的寫出來。【config.py】 SQL...
摘要:用讀文件個郵件列表去重后,不包含的數據這次是要讀取兩個的文件,然后查看表中的郵箱不在中的郵箱,然后將結果另存為知識點讀,沒有列標題,命名標題合并兩個,然后找不同。在的話,要先選擇最后一列為的值。 用pd讀excel文件--2個郵件列表去重后,不包含的數據 這次是要讀取兩個excel的文件,然后查看tiany表中的郵箱不在spam中的郵箱,然后將結果另存為email_result.xls...
摘要:第三步,安裝插件安裝方法一快捷鍵,輸入回車,然后輸入你想安裝的包的名稱,回車安裝方法二當然你也可以打開文件夾,然后去等平臺下相關插件放在這里即可。 如果需要 vim 配置,可以移步 面向 web 前端及 node 開發人員的 vim 配置 sublime 3 配置和使用技巧 第一步,設置settings 一下是我個人喜歡的格式配置,在perferences -> settings { ...
閱讀 1558·2021-11-25 09:43
閱讀 2344·2019-08-30 15:55
閱讀 1469·2019-08-30 13:08
閱讀 2675·2019-08-29 10:59
閱讀 821·2019-08-29 10:54
閱讀 1590·2019-08-26 18:26
閱讀 2550·2019-08-26 13:44
閱讀 2658·2019-08-23 18:36