Python에서 ZIP 만들기

ZIP 아카이브는 여러 파일이나 폴더를 압축하여 통합 컨테이너로 묶습니다. ZIP 아카이브는 파일과 폴더를 캡슐화할 뿐만 아니라 해당 메타데이터도 유지합니다. 주로 저장/전송을 위한 파일 크기를 줄이고 암호화를 통해 보안을 추가합니다. 기존 파일 압축 도구 외에도 데스크탑 및 웹 애플리케이션은 자동화된 압축 및 추출 기능을 통합하여 파일 업로드, 다운로드, 공유 및 암호화와 같은 작업을 간소화합니다. 이 기사에서는 Python에서 파일이나 폴더를 압축하고 ZIP 아카이브를 생성하는 간단한 방법을 제시합니다. 또한 Python에서 암호화되고 비밀번호로 보호된 ZIP 아카이브를 만드는 방법을 다룹니다. 그럼 자세히 살펴보겠습니다.

Python ZIP 라이브러리

Aspose.ZIP for Python은 개발자에게 Python 애플리케이션에서 ZIP 파일 작업을 위한 포괄적인 도구 세트를 제공하는 강력하고 다재다능한 라이브러리입니다. 직관적인 API와 다양한 기능을 갖춘 Aspose.ZIP for Python을 사용하면 ZIP 아카이브를 효율적으로 생성, 추출 및 관리할 수 있습니다. 다음 명령을 사용하여 PyPI에서 라이브러리를 설치할 수 있습니다.

> pip install aspose-zip

Python에서 ZIP 아카이브 만들기

다음은 Python의 ZIP 아카이브에 파일을 추가하여 압축하는 단계입니다.

  • 먼저 Archive 클래스를 사용하여 새로운 ZIP 아카이브를 만듭니다.
  • 그런 다음 Archive.createentry() 메서드를 사용하여 ZIP 아카이브에 파일을 추가합니다.
  • 마지막으로 Archive.save() 메서드를 사용하여 ZIP 아카이브를 저장합니다.

다음 코드 샘플은 Python에서 ZIP 아카이브에 파일을 추가하는 방법을 보여줍니다.

import aspose.zip as az

# 단일 파일로 아카이브 생성 및 저장
with az.Archive() as archive:
    # 아카이브에 파일 추가
    archive.create_entry("file", "file.txt")

    # zip 아카이브 생성 및 저장
    archive.save('my_archive.zip')

Python의 ZIP 아카이브에 여러 파일 추가

이전 섹션에서는 단일 파일을 ZIP 아카이브에 삽입하는 방법을 설명했습니다. 그러나 파일이 두 개 이상인 경우 Archive.createentry() 메서드를 반복적으로 호출할 수 있습니다.

다음 코드 샘플은 Python에서 ZIP 아카이브에 여러 파일을 삽입하는 방법을 보여줍니다.

import aspose.zip as az

# 여러 파일로 아카이브 생성 및 저장
with az.Archive() as archive:
    # 첫 번째 파일 추가
    archive.create_entry("file", "file.txt")

    # 두 번째 파일 추가
    archive.create_entry("file2", "file2.txt")

    # zip 아카이브 생성 및 저장
    archive.save('my_archive.zip')

Python의 ZIP 아카이브에 폴더 추가

파일뿐만 아니라 폴더를 ZIP 아카이브로 압축할 수도 있습니다. 이를 위해 폴더의 각 파일을 하나씩 아카이브에 추가할 필요가 없습니다. 간단히 Archive.createentries() 메소드를 호출하고 폴더 이름을 전달하면 됩니다. 이해를 돕기 위해 전체 폴더를 보관하는 단계는 다음과 같습니다.

  • 먼저 Archive 클래스를 사용하여 새 아카이브를 만듭니다.
  • 그런 다음 Archive.createentries(foldername) 메소드를 사용하여 ZIP 아카이브에 폴더를 추가하십시오.
  • 마지막으로 Archive.save() 메서드를 사용하여 ZIP 아카이브를 저장합니다.

다음 코드 샘플은 Python에서 ZIP에 폴더를 추가하는 방법을 보여줍니다.

import aspose.zip as az

# 폴더에서 아카이브 만들기
with az.Archive() as archive:
    # zip에 폴더 추가
    archive.create_entries("files")

    # zip 아카이브 생성 및 저장
    archive.save('my_archive_from_folder.zip')

Python에서 비밀번호로 보호된 ZIP 만들기

인터넷에서 아카이브를 공유하는 등 다양한 경우에는 ZIP 파일을 비밀번호로 보호해야 합니다. Python용 Aspose.ZIP을 사용하여 비밀번호로 보호된 ZIP 아카이브를 만드는 것은 압축 파일에 대한 향상된 보안을 제공하는 간단한 프로세스입니다. 그럼 Python에서 비밀번호로 ZIP 아카이브를 보호하는 방법을 살펴보겠습니다.

  • 먼저 ArchiveEntrySettings 클래스의 객체를 생성하고 원하는 비밀번호로 초기화합니다.
  • 그런 다음 Archive 클래스의 객체를 생성하고 위에서 생성한 ArchiveEntrySettings 객체로 초기화합니다.
  • 그런 다음 ZIP 아카이브에 파일과 폴더를 추가합니다.
  • 마지막으로 Archive.save() 메서드를 사용하여 ZIP 아카이브를 저장합니다.

다음 코드 샘플은 Python에서 비밀번호로 보호되는 ZIP 아카이브를 생성하는 방법을 보여줍니다.

import aspose.zip as az

# 아카이브 설정 생성 및 비밀번호 설정
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))

# 여러 파일로 아카이브 생성 및 저장
with az.Archive(archive_settings) as archive:        
    # zip에 폴더 추가
    archive.create_entries("files")

    # zip 아카이브 생성 및 저장
    archive.save('protected_archive.zip')

AES 암호화로 ZIP 아카이브 암호화

이전 예에서는 비밀번호로 ZIP 아카이브를 보호하기 위해 기존 설정을 적용했습니다. 그러나 Python용 Aspose.ZIP을 사용하면 AES 암호화를 사용하여 ZIP 아카이브를 암호화할 수 있습니다. 다음 AES 암호화 방법을 사용할 수 있습니다.

  • AES128
  • AES192
  • AES256

AES 암호화를 적용하는 과정은 이전 섹션에서 본 것과 동일합니다. 유일한 차이점은 이제 아카이브 설정을 정의할 때 TraditionalEncryptionSettings 대신 AesEcryptionSettings를 사용한다는 점입니다. 다음 코드 샘플은 Python의 ZIP 아카이브에 AES 암호화를 적용하는 방법을 보여줍니다.

import aspose.zip as az

# 아카이브 설정 생성 및 비밀번호 설정
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))

# 여러 파일로 아카이브 생성 및 저장
with az.Archive(archive_settings) as archive:        
    # zip에 폴더 추가
    archive.create_entries("files")

    # zip 아카이브 생성 및 저장
    archive.save('protected_archive.zip')

병렬 압축 모드 설정

Python용 Aspose.ZIP을 사용하면 병렬 압축 설정을 사용하여 ZIP 보관 프로세스를 사용자 정의할 수도 있습니다. 이 구성은 병렬 압축을 적용할 시기를 API에 알려줍니다. 다음과 같은 병렬 압축 모드를 사용할 수 있습니다.

  • 안 함 - 병렬로 압축하지 않습니다.
  • 항상 - 병렬로 압축합니다(메모리 부족 주의).
  • 자동 - 항목에 대해 병렬 압축을 사용할지 여부를 결정합니다. 이 옵션은 일부 항목을 병렬로만 압축할 수 있습니다.

다음은 Python에서 ZIP 아카이브를 생성하는 동안 병렬 압축을 적용하는 단계입니다.

  • 먼저 Archive 클래스를 사용하여 새 아카이브를 만듭니다.
  • 그런 다음 이전 섹션에 표시된 대로 ZIP 아카이브에 파일이나 폴더를 추가합니다.
  • ParallelOptions 클래스의 인스턴스를 생성하고 parallelcompressinmemory 속성을 원하는 ParallelCompressionMode 값으로 설정합니다.
  • ArchiveSaveOptions 클래스의 인스턴스를 만듭니다.
  • ParallelOptions 개체를 ArchiveSaveOptions.paralleloptions 속성에 할당합니다.
  • 마지막으로 Archive.save() 메서드를 사용하여 ZIP 아카이브를 저장합니다.

아래 코드 샘플은 Python에서 파일을 압축하는 동안 병렬 압축을 적용하는 방법을 보여줍니다.

# 여러 파일로 아카이브 생성 및 저장
import aspose.zip as az

with az.Archive() as archive:        
    # zip에 파일/폴더 추가
    archive.create_entry("file", "file.txt")
    archive.create_entry("file2", "file2.txt")

    # 병렬 압축을 위한 옵션 생성
    parallelOptions = az.saving.ParallelOptions()
    parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS

    # ZIP 저장 옵션 생성
    archiveSaveOptions = az.saving.ArchiveSaveOptions()

    archiveSaveOptions.parallel_options = parallelOptions
    archiveSaveOptions.archive_comment = "Files compressed with parallel compression."

    # zip 아카이브 생성 및 저장
    archive.save('parallel_compression_archive.zip', archiveSaveOptions)

무료 라이센스 받기

무료 임시 라이센스를 받고 평가 제한 없이 파일을 ZIP 아카이브로 압축할 수 있습니다.

Python ZIP 라이브러리 - 리소스

다음 리소스를 사용하여 Python ZIP 라이브러리에 대해 자세히 알아볼 수 있습니다.

ZIP 아카이브를 온라인으로 만드세요

Python용 Aspose.ZIP을 기반으로 하는 무료 파일 압축 애플리케이션을 사용해 보세요.

결론

결론적으로 Python용 Aspose.ZIP은 ZIP 아카이브를 쉽게 생성하고 관리할 수 있는 강력하고 다양한 솔루션을 제공합니다. 포괄적인 기능 세트를 통해 개발자는 ZIP 기능을 Python 애플리케이션에 원활하게 통합할 수 있습니다. 파일 압축, 암호화 추가, 복잡한 디렉터리 구조 구성 등 Aspose.ZIP은 이러한 작업을 간소화할 수 있는 안정적인 툴킷을 제공합니다.

이 기사에서는 Python에서 ZIP 아카이브를 만드는 방법에 대한 완전한 가이드를 제공했습니다. 또한 여러 파일과 폴더를 보관하고, 비밀번호로 보호된 ZIP 아카이브를 생성하고, AES 암호화를 적용하고, 병렬 ZIP 압축 방법을 구성하는 방법을 다루었습니다. 라이브러리를 Python 애플리케이션에 쉽게 통합하고 제공된 코드 샘플을 사용할 수 있습니다.

또한보십시오