python十行代碼實現文件去重,去除重復文件的腳本


導入依賴

'''導入依賴'''

from pathlib import Path

import filecmp

函數說明

'''
filecmp.cmp(path1, path2, shallow=True)

path1/path2:待比較的兩個文件路徑。

shallow :默認為True,即只比較os.stat()獲取的元數據(創建時間,大小等信息)是否相同,
設置為False的話,在對比文件的時候還要比較文件內容。
'''

提取待去重文件路徑

# 初始化文件路徑列表

path_files_list = []

# 遍歷

for path in Path(r'/usr/load/data').iterdir():

    # 校驗是否為文件

    if path.is_file():

        # 加入到待去重文件列表

        path_files_list.append(path)

# 遍歷待去重文件

for file_index in range(len(path_files_list) - 1):

    # 遍歷,兩輛比對

    for later in range(file_index + 1, len(path_files_list)):

        # 校驗內容是否相同

        if filecmp.cmp(path_files_list[file_index], 
path_files_list[later], shallow=False):

            # 內容相同、則刪除

            path_files_list[file_index].unlink()

            break

【粉絲福利】關注公眾號,獲取全套視頻資料,喜歡小編點個 '關注' 吧!

file

【往期精選】

● python的GUI框架tkinter,實現程序員的流氓式表白邏輯

● 探究python函數的不定長參數*args與**kwargs

● 沒有深思過的python冷知識你知道幾個?

● python圖片處理,自動生成gif動態圖片

● python-redis 的操作手法,相當簡單的redis數據存儲方式!

● python 日期、時間處理,各種日期時間格式/字符串之間的相互轉換究竟是怎樣的?

● python 內置的數據計數器Counter相當nice

● 幾十行代碼實現python發送郵件與接收郵件

● 梳理python路線知識盲區,最全面、最詳細的python知識體系框架思維導圖終於出爐了!

● 沒有開發工具,在服務器控制台如何進行python代碼調試,高級編程pdb代碼調試!

● python中的set集合,元素的CRUD處理,交集/差集/並集計算,不只是能去重!

● python編程:yaml文件應用支持,輕松讀取可配置參數!

● VsCode再出神器-Pylance,終於為python開發者也帶來福利了!

● 靈魂發問:每個程序員心中都有自己的一套編碼規范,你的代碼別人能看懂嗎?

本文由微信公眾號【python 集中營】發布,更多精彩文章、視頻資料即可領取!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM