5分鐘,10行代碼!帶你用Python做個電腦文件清道夫!
大家在日常的工作和學習中,會面臨到許多文件的處理,包括各種office文檔、視頻、圖片等文件內(nèi)容,有時候也會有很多文件重復存在,如果需要人工的方式來刪除重復的文件會非常的復雜。
因此,菜鳥哥為大家制作了一款較為靈活的清道夫神器,幫助大家一鍵清除電腦重復文件,一起來看看吧。
01.效果展示
當我們想要查詢哪個文件夾下重復的文件時,就將該軟件放到對應的文件夾下,然后直接運行該軟件,軟件會給出重復的文件提示,點擊確定后,重復的軟件就會被刪除。
02.程序設(shè)計思路
1).查詢文件夾下所有的文件
對于文件夾下所有文件的查詢,可以利用glob庫中的glob函數(shù)來遞歸進行查詢,程序如下圖所示:
程序中,利用glob函數(shù)來遞歸的查詢當前文件夾下所有的文件,并將文件保存到file_list列表當中,將file_list列表中的數(shù)據(jù)打印出來可以發(fā)現(xiàn),所有的文件都是遞歸到最后的一個文件夾中,輸出結(jié)果中不存在任何的文件夾。
2).判斷文件是否重復
對于兩個文件是否相同,這里的判斷利用的是filecmp庫中的cmp函數(shù)來進行實現(xiàn)。程序如下圖所示:
程序中由于是對于file_list列表中的元素,利用cmp函數(shù)來進行兩兩的對比,所以為了避免重復的比較,需要將重復的文件從file_list列表中剔除,同時將重復的兩個文件中的一個添加到del_list列表中,在后續(xù)的程序中刪除該文件。
需要注意的是,cmp函數(shù)并不是簡簡單單的依靠兩個文件名字是否重復來判斷兩個文件是否重復,而是通過兩個文件的創(chuàng)建時間等文件屬性來判斷兩個文件是否是重復的。
程序首先隱藏了主窗口,然后通過彈出的窗口,展示需要刪除哪些重復的文件,當用戶點擊確定時,則會將重復的文件徹底的刪除,點擊取消時,則不會刪除重復的文件。彈出窗口如下圖所示:
總結(jié)
以上就是小編為大家?guī)淼那宓婪蛏衿?,程序打包的exe只有9M左右,大家可以直接下載exe文件到指定的文件夾下,進行效果的測試。
需要注意的是,如果一旦刪除的話,重復的文件是找不回來的,所以大家需要三思而后行,當然大家可以下載源碼,修改程序,將重復文件放入垃圾箱。大家一起來動手試一試吧。
需要源碼,直接在下面的公眾號「程序員GitHub」,后臺輸入:10行