使用tkinter開發的一款可掃描並刪除本地檔案敏感詞的Windows軟體

一方_self發表於2024-05-04

大致功能:可指定掃描Windows上的某個目錄的所有檔案,單個檔案掃描,目前適配支援的檔案字尾有:"pdf"、"txt、"doc"、"docx",軟體是開源的,大家可以在此基礎上擴充套件更多型別的字尾。掃描到某個檔案內容中包含敏感詞時,會把這個檔名放到異常檔案列表,等待忽略或者刪除(刪除檔案內容中的敏感詞)操作。支援匯出掃描的檔案和包含的敏感詞。

github開源地址:GitHub -
2424004764/scan-folder-all-file: 使用tkinter開發的一款可掃描並刪除本地檔案敏感詞的Windows軟體

軟體介面如下:

使用tkinter開發的一款可掃描並刪除本地檔案敏感詞的Windows軟體

先點選選擇資料夾按鈕,之後軟體開始自動掃描這個資料夾下的所有檔案,子資料夾也不會放過,掃描為逐個檔案掃描,掃描到的檔案先在已掃描檔案列表顯示,如果這個檔案包含敏感詞,則會出現在異常檔案列表中,再異常檔案列表中可以對這個檔案進行刪除操作,可刪除這個檔案中所有敏感詞。如某個txt檔案中包含"123測試456測試",我們的敏感詞庫中就有"測試",那麼執行刪除操作後,檔案內容就變成了"123456",刪除了所有的"測試"字樣。

來一個測試,我在桌面有一個test檔案:

使用tkinter開發的一款可掃描並刪除本地檔案敏感詞的Windows軟體

掃描一下:

使用tkinter開發的一款可掃描並刪除本地檔案敏感詞的Windows軟體

顯示掃描到來敏感詞,我們點選刪除:

使用tkinter開發的一款可掃描並刪除本地檔案敏感詞的Windows軟體

敏感詞被刪除了。

支援的功能:

1、預設狀態僅可點選選擇資料夾按鈕,匯出、停止按鈕此時不可用

2、逐個掃描並顯示已掃描檔案和異常檔案(包含敏感詞)

2.1、此時會逐個追加到列表,並在列表可忽略或刪除操作

2.2、掃描過程中會給已掃描的檔案加索引號,刪除或忽略時自動重排索引

3、掃描過程可中斷

4、掃描完成後可匯出已掃描檔案和異常檔案

5、匯出的異常檔案包含所有敏感詞

6、敏感詞可配置、可擴充套件,目前僅能從本地載入,未來可擴充套件為從雲端載入,動態擴充套件敏感詞庫

7、刪除檔案時是真實刪除電腦系統檔案!,請謹慎操作,不提供恢復方法

7.1、刪除後會先刪除電腦檔案,再刪除列表檔案

8、點選忽略時將該檔案從已掃描列表或者異常檔案列表剔除,後續的匯出就不會匯出這個檔案了

9、軟體可自由配置標題和logo,後續也可透過雲端獲取配置的方式載入

10、掃描過程中動態展示已掃描的資料夾數量和已掃描的檔案數

11、重新選擇一個檔案掃描時,上一次的掃描結果會自動清空,且匯出、選擇資料夾按鈕暫時不可用,

此時停止掃描按鈕變為可用狀態

12、介面可以放大縮小,不影響功能和顯示

13、可自由打包為exe

更新:

1、支援掃描檔案內容

2、支援刪除檔案內容

3、支援的檔案型別:txt、pdf、doc、docx

4、匯出的異常檔案報告包含該檔案包含的所有敏感詞

配置:

1、可配置軟體標題

開啟consts.py:

更改SOFT_NAME的值

2、可配置軟體logo

將本地的logo.ico替換重新執行即可

3、更新敏感詞庫

開啟consts.py:

對ERROR_WORDS操作即可,可新增、刪除、修改

如新增一個敏感詞為“測試”,在原有基礎上:ERROR_WORDS = [

"木馬", "命令", "shell"

]

修改為:ERROR_WORDS = [

"木馬", "命令", "shell", "測試"

]

注意不要改變產量名或者資料結構!

未來展望:

1、敏感詞庫可以雲端管理,軟體啟動後自動載入雲端敏感詞庫

2、掃描的所有檔名都可以上傳雲端伺服器分析

3、掃描完成可傳送簡訊或郵件通知

4、可掃描檔案內容,透過本地讀取檔案內容方式判斷是否為病毒檔案或者異常檔案

專案執行:

1、python版本建議3.10

2、建議使用conda虛擬環境,配置好虛擬環境後,使用命令安裝專案所需包:

pip install -r requirements.txt

3、執行:使用命令:

python main.py

或者在pycharm開啟的話,點選執行按鈕即可一鍵啟動

4、打包為exe可執行檔案:

pyinstaller --noconsole -y --add-data "*;." --add-data "./logo.ico;." -i logo.ico -F -n 掃描檔案 main.py

--noconsole指令表示不顯示控制檯

-y指令表示預設選擇確定,因為可能重複打包,需要詢問是否刪除之前打包好的exe

--add-data 將當前目錄下所有內容一起打包

-i logo.ico 指定logo

-F 產生一個檔案用以部署,沒有其餘檔案

-n 指定軟體名

打包的exe在dist下,二次打包前,最好先刪除dist、build兩個資料夾和掃描檔案.spec檔案

程式碼參考:

1、解析doc、docx:
https://blog.csdn.net/weixin_40449300/article/details/79143971

目前存在的問題:

1、修改pdf檔案後,pdf檔案大小會暴增,我自己測試新增的一個15kb的pdf在我刪除其中的某些關鍵字後,大小變成了800kb。

這篇文章就到這裡啦!如果你對文章內容有疑問或想要深入討論,歡迎在評論區留言,我會盡力回答。同時,如果你覺得這篇文章對你有幫助,不妨點個贊並分享給其他同學,讓更多人受益。

想要了解更多相關知識,可以檢視我以往的文章,其中有許多精彩內容。記得關注我,獲取及時更新,我們可以一起學習、討論技術,共同進步。

感謝你的閱讀與支援,期待在未來的文章中與你再次相遇!

相關文章