成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python 查找重復(fù)文件升級(jí)版 - photodup

bingo / 3289人閱讀

摘要:之前寫了一個(gè)簡(jiǎn)化版的使用查找目錄中的重復(fù)文件,現(xiàn)在升級(jí)了一下,我們來(lái)提供一個(gè)友好的網(wǎng)頁(yè)界面。掃描結(jié)束后,啟動(dòng)服務(wù)即可。順利的話用瀏覽器打開(kāi)就可以看到一個(gè)友好的網(wǎng)頁(yè),可以通過(guò)文件或者文件名來(lái)清理重復(fù)文件,可以預(yù)覽圖片文件。

之前寫了一個(gè)簡(jiǎn)化版的使用Python查找目錄中的重復(fù)文件,現(xiàn)在升級(jí)了一下,我們來(lái)提供一個(gè)友好的網(wǎng)頁(yè)界面。

思路

上一個(gè)版本我們非常簡(jiǎn)單粗暴地將所有文件的hash掃描后保存到一個(gè)字典中,字典結(jié)構(gòu)大概是這樣的:

files = [{"hash1":["file/path...","file/path..."]},
         {"hash2":["file/path...","file/path...","file/path..."]},
         {"hash3":["file/path..."]}]

然后通過(guò)一個(gè)循環(huán)找出hash值對(duì)應(yīng)的數(shù)組長(zhǎng)度大于1的數(shù)組,現(xiàn)在我們把這個(gè)掃描結(jié)果保存到數(shù)據(jù)庫(kù)中,之后只要查詢數(shù)據(jù)庫(kù)即可找到重復(fù)的文件。

步驟

我們大致需要幾個(gè)步驟就可以讓程序跑起來(lái):

git clone https://github.com/tobyqin/photodup.git # 克隆代碼

cd photodup
pip install -r requirements.txt # 安裝必要的依賴包

python db.py # 創(chuàng)建DB表結(jié)構(gòu)

表結(jié)構(gòu)不需要太復(fù)雜:

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

然后開(kāi)始掃描你要檢查的目錄。

python scan.py dir1 dir2

你可以傳入一個(gè)或者多個(gè)目錄,默認(rèn)只檢索jpg文件,也可以修改config.py里的配置項(xiàng)來(lái)自定義。掃描結(jié)束后,啟動(dòng)web服務(wù)即可。

python web.py

順利的話用瀏覽器打開(kāi) http://127.0.0.1:5001 就可以看到一個(gè)友好的網(wǎng)頁(yè),可以通過(guò)文件hash或者文件名來(lái)清理重復(fù)文件,可以預(yù)覽圖片文件。

原理&總結(jié)

升級(jí)后的重復(fù)文件清理工具總共也不過(guò)兩三百行代碼,但是已經(jīng)算是一個(gè)比較完整的程序,使用起來(lái)也方便了很多。升級(jí)過(guò)程中用到了前后端數(shù)據(jù)庫(kù)各方面的知識(shí),不管你的想法多簡(jiǎn)單,真正動(dòng)手去實(shí)現(xiàn)才會(huì)有收獲。

項(xiàng)目地址:https://github.com/tobyqin/ph...

技術(shù)棧:Python, SQL, Flask, Bootstrap, Jquery, CSS.

關(guān)于作者:

Toby Qin, Python 技術(shù)愛(ài)好者,目前從事測(cè)試開(kāi)發(fā)相關(guān)工作,轉(zhuǎn)載請(qǐng)注明原文出處。

歡迎關(guān)注我的博客 https://betacat.online,你可以到我的公眾號(hào)中去當(dāng)吃瓜群眾。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41715.html

相關(guān)文章

  • 使用Python查找目錄中的重復(fù)文件

    摘要:處理重復(fù)文件最后一步非常簡(jiǎn)單,把上一步建立的字典做一個(gè)簡(jiǎn)單的過(guò)濾就能找到重復(fù)文件。 是這樣的,電腦上的堆積的照片有點(diǎn)多,而且重復(fù)的照片被放在了不同的目錄,占用的空間越來(lái)越大,數(shù)量也多得已經(jīng)不太適合人工分辨整理,寫個(gè)Python腳本來(lái)處理吧。 文件的唯一標(biāo)識(shí) - MD5 假如你要處理的重復(fù)文件有不同的文件名,最簡(jiǎn)單的辦法就是通過(guò)MD5來(lái)確定兩個(gè)文件是不是一樣的。 def md5sum(f...

    melody_lql 評(píng)論0 收藏0
  • 當(dāng)用戶管理系統(tǒng)遇上python和mongodb后……

    摘要:安裝基本是一路下一步,需要注意的地方小胖網(wǎng)上找了幾張圖來(lái)說(shuō)明。這里可以自定選擇需要安裝的東西小胖選擇完全安裝,隨便你們選擇安裝路徑但是需要注意不要選擇一個(gè)叫的東西,否則可能要很長(zhǎng)時(shí)間都一直在執(zhí)行安裝,是一個(gè)圖形界面管理工具。 Overview: 環(huán)境 前言 效果圖 mongdb安裝 代碼涉及知識(shí)點(diǎn) 關(guān)于windows的cmd下執(zhí)行python文件顯示中文亂碼的問(wèn)題 總結(jié) 0.環(huán)境 ...

    keithyau 評(píng)論0 收藏0
  • Flask之?dāng)U展flask-migrate

    摘要:一個(gè)用來(lái)做數(shù)據(jù)遷移的擴(kuò)展,一般都是結(jié)合使用,在上一篇文章中我也介紹了這個(gè)擴(kuò)展,需要的小伙伴可以看一下,后續(xù)我會(huì)將更深層的寫出來(lái)。 flask-migrate一個(gè)用來(lái)做數(shù)據(jù)遷移的falsk擴(kuò)展,一般都是結(jié)合flask-sqlalchemy使用,在上一篇文章中我也介紹了這個(gè)擴(kuò)展,需要的小伙伴可以看一下,后續(xù)我會(huì)將flask-sqlalchemy更深層的寫出來(lái)?!綾onfig.py】 SQL...

    Snailclimb 評(píng)論0 收藏0
  • python -查找重復(fù)郵箱,保留沒(méi)重復(fù)過(guò)的值

    摘要:用讀文件個(gè)郵件列表去重后,不包含的數(shù)據(jù)這次是要讀取兩個(gè)的文件,然后查看表中的郵箱不在中的郵箱,然后將結(jié)果另存為知識(shí)點(diǎn)讀,沒(méi)有列標(biāo)題,命名標(biāo)題合并兩個(gè),然后找不同。在的話,要先選擇最后一列為的值。 用pd讀excel文件--2個(gè)郵件列表去重后,不包含的數(shù)據(jù) 這次是要讀取兩個(gè)excel的文件,然后查看tiany表中的郵箱不在spam中的郵箱,然后將結(jié)果另存為email_result.xls...

    AlphaGooo 評(píng)論0 收藏0
  • sublime配置及使用技巧

    摘要:第三步,安裝插件安裝方法一快捷鍵,輸入回車,然后輸入你想安裝的包的名稱,回車安裝方法二當(dāng)然你也可以打開(kāi)文件夾,然后去等平臺(tái)下相關(guān)插件放在這里即可。 如果需要 vim 配置,可以移步 面向 web 前端及 node 開(kāi)發(fā)人員的 vim 配置 sublime 3 配置和使用技巧 第一步,設(shè)置settings 一下是我個(gè)人喜歡的格式配置,在perferences -> settings { ...

    LoftySoul 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<