python 은 MD5 에서 파일 을 다시 가 져 오 는 예제 코드 를 실현 합 니 다.

머리말
작업 중 에 가끔 파일 이 무 거 운 일 을 당 하고 많은 파일 을 받 습 니 다.이름 이 다 릅 니 다.파일 을 분석 할 때 중복 되 는 파일 이 많아 서 작업 효율 이 떨 어 집 니 다.그러면 python 스 크 립 트 를 써 서 파일 의 무 거 운 기능 을 실현 합 니 다.
작업 원리
스 크 립 트 는 파일 경로 에 있 는 모든 파일 을 검사 한 다음 각 파일 의 MD5 값 을 계산 하여 목록 에 추가 합 니 다.
  • 특정한 파일 의 MD5 값 이 목록 에 없 으 면 우리 가 필요 로 하 는 파일 이 라 고 인정 합 니 다.스 크 립 트 는 데스크 톱 에'결과 지우 기'라 는 폴 더 를 새로 만 들 고 복사 합 니 다
  • 4.567917.만약 에 특정한 파일 의 MD5 값 이 목록 에 있 으 면 우리 가 필요 로 하 는 파일 이 아니 라 그 어떠한 처리 도 하지 않 는 다 고 인정 합 니 다
  • 코드 는 직접 실행 할 수 있 고 수정 할 필요 가 없습니다(설치 에 부족 할 수 있 는 라 이브 러 리 파일 제외)
  • 코드
    
    import os
    import shutil
    import hashlib
    
    
    #      
    #        md5 ,      
    def only_one(test_path):
        md5_list = []
        count = 0
        for current_folder, list_folders, files in os.walk(test_path):
            for file in files:
                file_path = current_folder + '\\' + file  #          
                f = open(file_path, 'rb')  #          md5 
                md5obj = hashlib.md5()
                md5obj.update(f.read())
                get_hash = md5obj.hexdigest()
                f.close()
                md5_value = str(get_hash).upper()
                #     
                if md5_value in md5_list:  #        md5      ,         
                    count += 1
                    print('\033[31m[-]       :\033[0m' + str(file))
                else:
                    md5_list.append(md5_value)  #        md5       ,       
                    shutil.copy(file_path, path1)
        print('\033[31m[-]        :{} \033[0m'.format(count))
    
    
    if __name__ == '__main__':
        print('\033[4;33m[+]                 ,       MD5     \033[0m')
        print('\033[4;33m[+]                  ,       \033[0m')
        path = input('\033[34m[+]         :\033[0m')
        os.chdir(path)
    
        # path1            
        desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')  #       
        path1 = os.path.join(desktop_path, '    ')
        os.makedirs(path1)
    
        only_one(path)
        print('\033[32m[-]          :{} \033[0m'.format(len(os.listdir(path1))))
    
    
    在这里插入图片描述
    python 이 MD5 를 실현 하여 파일 을 다시 고 치 는 예제 코드 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 python MD5 파일 을 다시 고 치 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 을 바 랍 니 다!

    좋은 웹페이지 즐겨찾기