• <td id="ae6ms"><li id="ae6ms"></li></td>
  • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
  • <table id="ae6ms"></table>
  • <td id="ae6ms"></td>
    <td id="ae6ms"></td>
  • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
  • <td id="ae6ms"></td>
  • <table id="ae6ms"><li id="ae6ms"></li></table>
  • <table id="ae6ms"></table>
    西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
    西西首頁 常用軟件 軟件下載 安卓軟件 游戲下載 安卓游戲 MAC應用 驅動下載 安卓電視
    系統工具網絡工具媒體工具圖形圖像聊天工具應用軟件編程開發手機軟件安卓應用電腦安全字體素材

    刪除重復圖片的軟件

    Python版
    • 刪除重復圖片的軟件Python版
    • 軟件大小:42M
    • 更新時間:2020-09-27 17:43
    • 軟件語言:中文
    • 軟件廠商:
    • 軟件類別:國產軟件 / 免費軟件 / 圖像處理
    • 軟件等級:3級
    • 應用平臺:WinXP, Win7, win8
    • 官方網站:暫無
    好評:50%
    壞評:50%

    軟件介紹

    刪除重復圖片的軟件,由論壇大神原創制作的一個由Python編寫的刪除重復圖片程序,可以一鍵刪除文件中重復的圖片資源,為您的PC節省空間,同時整理你的圖庫。需要能刪除重復圖片的軟件的朋友們可以下載使用,單文件程序,綠色無廣告。

    刪除重復圖片的軟件

    刪除重復圖片作者說明

    今天閑來無事整理素材,發現有許多重復的圖片,由于數量太多無法手動翻閱刪除,想想寫個代碼,分析了一下重復圖片有些是同名的,有些內容重復不同名,返回文件名清理放棄,圖片大小也放棄放棄,后來選用計算MD5的方式清除,然后先是使用os.listdir()函數遍歷文件夾下的圖片,在測試過程中,如果文件夾下還包含文件夾就會引發異常,后來決定用os.walk()函數來遍歷;

    源碼注釋寫的比較清晰,就不多闡述,可根據自己需要封裝函數,制作成死循環,添加退出條件,復用;

    Python代碼一覽

    import os,hashlib

    import numpy as np

    from PIL import Image,UnidentifiedImageError

    from PIL.Image import DecompressionBombError

    from rich import print

    from time import time

    print("""[#00CED1]待清理的文件夾內如果還包含了文件夾也同樣可以清理![/#00CED1][#0000FF]

    @@@@@@@@  @@@  @@@  @@@  @@@  @@@  @@@   @@@@@@   @@@       @@@  @@@   @@@@@@        @@@  @@@  @@@  @@@  

    @@@@@@@@  @@@  @@@  @@@  @@@  @@@  @@@  @@@@@@@@  @@@       @@@  @@@  @@@@@@@@       @@@  @@@  @@@@ @@@  

    @@!       @@!  @@@  @@!  @@@  @@!  @@@  @@!  @@@  @@!       @@!  @@@  @@!  @@@       @@!  @@!  @@!@!@@@  

    !@!       !@!  @!@  !@!  @!@  !@!  @!@  !@!  @!@  !@!       !@!  @!@  !@!  @!@       !@!  !@!  !@!!@!@!  

    @!!!:!    @!@  !@!  @!@!@!@!  @!@  !@!  @!@!@!@!  @!!       @!@  !@!  @!@  !@!       !!@  !!@  @!@ !!@!  

    !!!!!:    !@!  !!!  !!!@!!!!  !@!  !!!  !!!@!!!!  !!!       !@!  !!!  !@!  !!!       !!!  !!!  !@!  !!!  

    !!:       !!:  !!!  !!:  !!!  !!:  !!!  !!:  !!!  !!:       !!:  !!!  !!:  !!!       !!:  !!:  !!:  !!!  

    :!:       :!:  !:!  :!:  !:!  :!:  !:!  :!:  !:!   :!:      :!:  !:!  :!:  !:!  !!:  :!:  :!:  :!:  !:!  

     ::       ::::: ::  ::   :::  ::::: ::  ::   :::   :: ::::  ::::: ::  ::::: ::  ::: : ::   ::   ::   ::  

     :         : :  :    :   : :   : :  :    :   : :  : :: : :   : :  :    : :  :    : :::    :    ::    :  

    [/#0000FF]                                                                  [#00CED1]待清理的文件夾內還包含文件夾也可清理![/#00CED1]""")

    path = input(r"輸入圖片文件夾路徑,例如 D:\python\tupian:")

    try:

        file = os.walk(path)    # 遍歷目錄;

    except FileNotFoundError:   # 捕獲路徑不存在異常;

        print('抱歉,沒有這個路徑!')

    else:

        temp = set()    # 創建臨時集合;

        del_count = 0   # 刪除圖片計數;

        pass_count = 0  # 非圖片計數;

        file_count = 0  # 總文件計數;

        time1 = time()

        for path_name, dir_name, file_name in file:     # 遍歷walk返回3個元素;

            for n in file_name:                         # 獲得每個文件名字;

                full_path = os.path.join(path_name, n)  # 拼接路徑和文件名,獲得文件完整路徑;

                file_count += 1                         # 文件計數+1;

                print(full_path)

                try:

                    with Image.open(full_path) as t:    # 打開圖片;

                        array = np.array(t)             # 轉為數組;

                except (UnidentifiedImageError,DecompressionBombError): # 捕獲不是圖片,像素炸彈異常;

                    pass_count += 1                                     # 非圖片計數+1;

                    pass

                else:

                    md5 = hashlib.md5()                                 # 創建MD5對象;

                    md5.update(array)                                   # 獲取當前圖片MD5;

                    if md5.hexdigest() not in temp:                     # 如果哈希值沒有在集合中;

                        temp.add(md5.hexdigest())                       # 就把哈希值添加到集合中;

                    else:

                        os.remove(full_path)                            # 如果在集合中就刪除當前圖片;

                        print(full_path+'------------------已刪除')

                        del_count += 1                                  # 刪除計數+1;

        time2 = time()

        time3 = time2-time1

        if pass_count != 0:

            print('[#7CFC00]非圖片數據:[/#7CFC00][#800000]{0}[/#800000] 個.'.format(pass_count))

        print('[#800080]一共讀取圖片:[/#800080][#800000]{0}[/#800000] 張.'.format(file_count - pass_count))

        print('[#3CB371]刪除重復圖片:[/#3CB371][#800000]{0}[/#800000] 張.'.format(del_count))

        print('[#0000FF]總耗時為:[/#0000FF][#800000]{:.4f}[/#800000] 秒.'.format(time3))

    input('按任意鍵結束!!!')  # 此條為了編譯成EXE或在命令行運行腳本時能看見上面統計后數據所添加,如果在IDE中運行可刪除;

    exit()                  # 如果在IDE中運行可刪除;

    軟件截圖

    刪除重復圖片的軟件 Python版

      其他版本下載

      熱門評論

      最新評論

      發表評論 查看所有評論(0)

      昵稱:
      表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
      字數: 0/500 (您的評論需要經過審核才能顯示)

      下載幫助下載幫助西西破解版軟件均來自互聯網, 如有侵犯您的版權, 請與我們聯系。

      TOP
      軟件下載
      女人让男人桶30分钟免费视频,女人张开腿让男人桶个爽,一进一出又大又粗爽视频
    • <td id="ae6ms"><li id="ae6ms"></li></td>
    • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
    • <table id="ae6ms"></table>
    • <td id="ae6ms"></td>
      <td id="ae6ms"></td>
    • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
    • <td id="ae6ms"></td>
    • <table id="ae6ms"><li id="ae6ms"></li></table>
    • <table id="ae6ms"></table>