Python에서 중첩된 ZIP 추출

ZIP 아카이브는 파일과 폴더를 압축하고 구성하는 데 널리 사용됩니다. 때로는 중첩된 ZIP이라고 알려진 ZIP 아카이브 내에서 ZIP 파일을 발견할 수도 있습니다. 적절한 도구가 없으면 이렇게 중첩된 아카이브에서 파일을 추출하는 것이 어려운 작업이 될 수 있습니다. 이 블로그 게시물에서는 Python에서 중첩된 ZIP 아카이브를 쉽게 추출하는 방법을 살펴보겠습니다.

중첩된 ZIP을 추출하는 Python 라이브러리

Aspose.ZIP for Python은 Python 애플리케이션에서 ZIP 아카이브로 작업할 수 있는 강력한 라이브러리입니다. ZIP 아카이브 생성, 조작 및 추출을 위한 다양한 기능을 제공하므로 중첩된 ZIP 아카이브를 포함하여 복잡한 아카이브 구조를 처리하는 데 탁월한 선택입니다. 따라서 우리는 이 라이브러리를 활용하여 중첩된 ZIP 파일을 추출할 것입니다.

라이브러리를 다운로드하거나 PyPI에서 설치할 수 있습니다.

> pip install aspose-zip

Python에서 중첩된 ZIP 파일 추출

다음은 Python에서 중첩된 ZIP 파일을 추출하는 단계입니다.

  • 먼저 Archive 클래스를 사용하여 ZIP 아카이브를 로드합니다.
  • 그런 다음 Archive.entries 컬렉션을 사용하여 ZIP 항목을 반복합니다.
  • ArchiveEntry.name.lower().endswith(".zip") 확인을 사용하여 ZIP 아카이브를 필터링합니다.
  • BytesIO 객체를 생성하고 중첩된 ZIP을 엽니다.
  • 마지막으로 BytesIO 객체를 사용하여 중첩된 ZIP을 열고 Archive.extracttodirectory() 메서드를 사용하여 추출합니다.

아래 코드 조각은 중첩된 ZIP 아카이브를 Python의 폴더로 추출합니다.

import aspose.zip as az
from io import BytesIO

# 중첩된 ZIP이 있는 ZIP 아카이브 로드
with az.Archive("nested_zip_archive.zip") as archive:
   for entry in archive.entries:            
        # 항목이 ZIP 아카이브인지 확인하세요.
        if entry.name.lower().endswith(".zip"):                
            # 중첩된 ZIP을 스트림으로 열기
            with BytesIO() as nested_stream:   
                # ZIP을 스트림으로 열기
                entry.extract(nested_stream)
                
                # ZIP 로드
                with az.Archive(nested_stream) as nested_archive: 
                    # ZIP을 폴더로 추출
                    nested_archive.extract_to_directory("Extracted/" + entry.name)

Python ZIP 라이브러리 - 무료 라이센스 받기

무료 임시 라이센스를 받고 평가 제한 없이 ZIP 아카이브에 파일을 추가하세요.

학습 자료

아래 리소스를 사용하여 Python ZIP 라이브러리에 대해 자세히 알아보세요.

온라인 ZIP 도구

Python용 Aspose.ZIP을 기반으로 하는 무료 ZIP 아카이브 작업을 위한 온라인 도구를 살펴보세요.

결론

Aspose.ZIP은 Python에서 중첩된 ZIP 아카이브를 추출하는 프로세스를 단순화합니다. 단 몇 줄의 코드만으로 중첩된 아카이브에서 파일에 액세스하고 추출할 수 있습니다. 이 라이브러리는 Python 애플리케이션에서 복잡한 ZIP 아카이브 구조를 처리하는 데 유용한 도구입니다. 중첩된 ZIP 아카이브로 작업하든 다른 ZIP 관련 작업을 수행하든 Aspose.ZIP for Python은 작업 흐름을 간소화하고 개발 프로세스를 더욱 효율적으로 만들 수 있습니다.

또한보십시오