[Python] 내 컴퓨터 중복 파일 찾기 – 해시값 비교로 이미지/문서 정리하기
컴퓨터에 파일이 많다 보면 중복된 파일이 생기기 쉽습니다.
이 글에서는 Python을 사용해
폴더 내 중복 파일을 자동으로 찾아내는 방법을 소개합니다.
`hashlib`으로 MD5 해시값
을 비교하여
이름이 달라도 내용이 같은 파일을 식별할 수 있습니다.
✅ 1. Python 코드 – 중복 파일 탐색기
import os
import hashlib
from collections import defaultdict
def get_file_hash(filepath):
hasher = hashlib.md5()
with open(filepath, 'rb') as f:
while chunk := f.read(8192):
hasher.update(chunk)
return hasher.hexdigest()
def find_duplicate_files(folder_path):
hash_map = defaultdict(list)
for root, dirs, files in os.walk(folder_path):
for filename in files:
full_path = os.path.join(root, filename)
try:
file_hash = get_file_hash(full_path)
hash_map[file_hash].append(full_path)
except Exception as e:
print(f"❌ 오류 발생: {full_path} → {e}")
# 중복만 추려서 리턴
duplicates = {h: paths for h, paths in hash_map.items() if len(paths) > 1}
return duplicates
# ▶ 사용 예시
target_folder = "D:/Working/2025/2025.03.28"
duplicates = find_duplicate_files(target_folder)
print(f"📂 중복 파일 검색 결과 ({len(duplicates)} 그룹):")
for hash_val, files in duplicates.items():
print(f"\n🔁 해시: {hash_val}")
for file in files:
print(f" - {file}")
✅ 2. 실행 결과 예시
📂 중복 파일 검색 결과 (1 그룹):
🔁 해시: 57203fe4526a8dd1a26f59e4ef209162
- D:/Working/2025/2025.03.28\1.dll
- D:/Working/2025/2025.03.28\2.dll
- D:/Working/2025/2025.03.28\Google.Protobuf.dll
✅ 3. 어떤 파일이 중복인지 어떻게 판단하나요?
파일을 1줄씩 비교하면 느리기 때문에
파일의 MD5 해시값을 구해 서로 비교합니다.
- 이름이 달라도, 내용이 같으면 → 해시값 같음
- 내용이 다르면 → 해시값 다름
📌 마무리
이 스크립트를 사용하면 중복 이미지 / 문서 / 백업파일 등을
손쉽게 찾고 정리할 수 있습니다.
필요시 자동 삭제, 로그 저장, 확장자 필터링까지 확장 가능하니
간단한 정리 스크립트가 필요할 때 꼭 활용해보세요 😊
도움이 되셨다면 공감 / 댓글 부탁드립니다!
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 나만의 명언 봇 만들기 – JSON으로 랜덤 출력하기 (2) | 2025.03.28 |
---|---|
[Python] 파이썬으로 PDF 내용 추출하는 방법 – PyMuPDF(fitz) 활용 (0) | 2025.03.26 |
[python] FastAPI에서 async/await으로 비동기 API 만들기 - 느린 작업도 빠르게 처리하기 (0) | 2025.03.20 |
FastAPI에서 POST 요청 처리하기 - 사용자 입력 데이터 받기 예제 (0) | 2025.03.20 |
FastAPI로 빠르고 간단한 파이썬 API 서버 만들기 - 설치부터 기본 예제까지 (0) | 2025.03.20 |