Python辦公自動化——8行代碼實作檔案去重
- 需求描述
- 擼代碼ing
需求描述
上周突然接到一個任務,要通過XX網站匯出XX年-XX年之間的資料,匯出后的檔案名就是對應日期,匯出后發現,竟然有的檔案大小是一樣,但檔案名又沒有重復,所以打開檔案看了下,確實重復了,原因暫時不清楚,預測是網站的原因,最后發現大概只有 30% 的資料沒有重復,我淦!

啥也不說,首要任務還是把那些沒有重復的檔案給篩選出來,或是洗掉重復的檔案,檔案很多幾百個,通過一個個的對比檔案去洗掉估計又要加班,然后突然想到 Python 有個內置的 filecmp 能夠貌似是比較檔案的,于是乎就有了這篇文章~

擼代碼ing
匯出的檔案都是保存在同一檔案夾下的,格式也相同,然后,上網查了下 filecmp.cmp() 的用法,
filecmp.cmp(f1, f2, shallow=True)
f1/f2:待比較的兩個檔案路徑,shallow:默認為True,即只比較os.stat()獲取的元資料(創建時間,大小等資訊)是否相同,設定為False的話,在對比檔案的時候還要比較檔案內容,
from pathlib import Path
import filecmp
path_list = [path for path in Path(r'C:\Users\pc\Desktop\test').iterdir() if path.is_file()]
for front in range(len(path_list) - 1):
for later in range(front + 1, len(path_list)):
if filecmp.cmp(path_list[front], path_list[later], shallow=False):
path_list[front].unlink() # 洗掉檔案
break
為了防止代碼有問題,我先創建了一個 test 檔案夾,在檔案夾下手動創建了6個檔案,1~5中只有1,2,3,4,5對應的數字內容,第6個為空檔案,
之后再將檔案全部復制一份,

??運行效果

🌸 完工撒花~🌸
這就是本文所有的內容了,如果感徑訓不錯的話,? 點個贊再走吧!!!?
后續會繼續分享《Python自動化辦公》系列文章,如果感興趣的話可以點個關注不迷路哦~,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/292732.html
標籤:python
上一篇:Python 字典(一)

