본문 바로가기

ZIP에는 3개인데 풀면 2개: 같은 파일 이름 중복 실험

실행 검증작성 SW픽 편집부 · 발행
프로그램
파일 관리
환경
로컬의 작은 ZIP과 빈 시험 폴더
버전
Python 3.14.6 zipfile · DEFLATE
최종 검증일

중복 경로를 가진 항목 3개를 만든 뒤 읽기·CRC·추출을 확인했습니다. CRC 오류는 없었고 추출된 고유 파일은 2개였습니다.

ZIP에는 3개인데 풀면 2개: 같은 파일 이름 중복 실험의 핵심 확인 항목을 정리한 표지

ZIP 안에는 항목이 세 개라고 나오는데 압축을 풀고 보니 파일이 두 개만 남을 수 있습니다. 모든 경우가 다운로드 손상은 아닙니다. ZIP 내부에 같은 전체 경로 이름이 두 번 들어 있으면 추출 과정에서 한 파일 경로에 겹칠 수 있습니다. 직접 작은 ZIP을 만들어 항목 수와 고유 경로 수를 비교했습니다.

만든 ZIP의 구성

Python 3.14.6 zipfile로 report.txt를 두 번 넣었습니다. 첫 항목은 total=1200, 두 번째는 total=1201이며 마지막에 readme.txt를 추가했습니다. 모두 실행 기능이 없는 가상 텍스트 파일입니다. 폴더 밖으로 나가는 경로나 큰 파일을 포함하지 않습니다.

ZIP 내부 항목 3개와 고유 경로 2개의 차이
실제 실험 ZIP의 항목 순서와 추출 결과를 도식화했습니다.
순서 ZIP 내부 경로 내용
1 report.txt total=1200
2 report.txt total=1201
3 readme.txt 설명 문장

실제 읽기와 추출 결과

ZipFile.infolist()는 항목 세 개를 반환했습니다. 각 ZipInfo 객체를 지정해 읽으면 첫 report.txt와 두 번째 report.txt의 내용이 각각 보였습니다. 그러나 이름 report.txt만 지정해 읽은 결과는 두 번째 항목 total=1201이었습니다. 새 빈 폴더에 Python zipfile로 추출한 뒤에도 report.txt에는 total=1201이 남았고 전체 파일은 두 개였습니다.

검사 결과 해석
항목 수 3 같은 이름도 별도 항목
고유 전체 경로 수 2 report.txt가 중복
CRC 검사 오류 없음 이 중복을 오류로 판단하지 않음
추출 후 파일 수 2 같은 경로가 겹침

이 동작은 이번 Python zipfile 시험 결과입니다. Windows 탐색기·macOS 압축 유틸리티·다른 압축 프로그램이 어떤 경고를 띄우고 어느 항목을 남기는지는 여기서 시험하지 않았습니다. 프로그램마다 처리 결과가 다를 수 있으므로 “항상 마지막 파일이 남는다”고 일반화하지 않습니다.

압축을 풀기 전에 확인할 것

  • 받은 ZIP 원본을 보존합니다. 바로 같은 폴더에 덮어 풀지 않습니다.
  • 압축 프로그램의 파일 목록에서 파일명뿐 아니라 전체 내부 경로를 확인합니다.
  • 전체 항목 수와 고유 경로 수를 구분합니다. 폴더 항목도 개수에 들어갈 수 있습니다.
  • 압축 해제 예상 크기와 남은 디스크 공간을 확인합니다.
  • 같은 경로가 여러 번 나오면 보낸 사람에게 어떤 항목이 최종본인지 확인합니다.

이름은 같지만 경로가 다른 경우

draft/report.txtfinal/report.txt는 파일 이름은 같아도 전체 경로가 다릅니다. 폴더 구조를 유지해 추출하면 두 경로를 구분할 수 있습니다. 이 실험처럼 report.txt 자체가 두 번 있는 경우와 혼동하지 마십시오. 반대로 일부 앱에서 폴더 구조를 무시하고 한 폴더로 모으면 원래 다른 경로도 충돌할 수 있습니다.

이미 풀었는데 파일이 적을 때

원본 ZIP을 삭제하지 않았다면 내부 항목 목록과 추출 폴더를 다시 비교합니다. 중복 항목이 존재하면 둘 중 하나를 임의로 최종본으로 정하지 않습니다. 같은 이름의 내용을 각각 별도 이름으로 보존할 수 있는 도구나 보낸 사람의 재압축본이 필요합니다. 원본이 없고 덮어쓴 항목만 남았다면 파일 개수만으로 사라진 내용을 재구성할 수 없습니다.

백업용 ZIP을 만들 때는 정상 종료 여부와 CRC 검사만으로 끝내지 말고, 기대한 파일 목록과 고유 경로가 맞는지 확인해야 합니다. 파일 내용까지 중요하면 각 파일의 해시 목록과 비교하면 도움이 됩니다. 파일 해시 비교 안내는 발행 후 해당 자료에서 확인할 수 있습니다.

시험용 ZIP

중복 이름 ZIP 내려받기를 새 빈 시험 폴더에서 살펴볼 수 있습니다. 실제 업무 파일과 섞지 마십시오. 이 파일의 정상 목록은 항목 3개·고유 경로 2개이며 report.txt 두 항목의 수치는 서로 다릅니다. 실험의 목적은 중복을 발견하는 것이지 어느 내용을 최종본으로 선택하는 것이 아닙니다.

OFFICIAL SOURCES

확인한 공식 자료

CORRECTION

화면이 달라졌나요?

운영체제와 프로그램 버전, 달라진 단계를 알려주시면 다시 확인합니다.

정정 요청 보내기