개요
항목으로 구성된 아카이브에는 전체 폴더를 압축하기 위한 createEntries 메소드가 있습니다. 이러한 방법은 디렉터리 구조를 유지하고 모든 하위 폴더를 반복적으로 포함합니다. 또한 아카이브 내의 모든 하위 폴더에 개별 파일 항목을 추가할 수 있습니다.ZIP 폴더를 압축하는 방법
폴더를 ZIP 아카이브로 압축하려면 다음 Python 코드 조각을 사용할 수 있습니다. zp.Archive 클래스를 사용하면 구조를 유지하면서 전체 폴더에 대한 항목을 만들 수 있습니다. 아래와 같이 폴더 경로와 함께 create_entries 메소드를 호출한 다음 save 메소드를 사용하여 아카이브를 저장하기만 하면 됩니다.
with zp.Archive() as archive:
archive.create_entries("D:\\Data")
archive.save("archive.zip")
Sampe 2:
with zp.Archive() as archive:
archive.create_entry("data\\pictures\\photo.bmp", "image.bmp")
archive.create_entry("data\\text\\song.txt", "lyrics.txt")
archive.save("archive.zip")
이 코드는 파일과 폴더에서 아카이브를 만드는 데 사용됩니다. 첫 번째 코드는 "D:\Data" 폴더의 모든 파일과 하위 디렉터리를 반복적으로 추가하고 해당 구조를 유지한 다음 해당 아카이브를 "archive.zip"으로 저장하는 아카이브를 생성합니다. 두 번째 코드는 개별 파일이 추가되는 아카이브를 생성합니다. "data\pictures\photo.bmp" 파일은 "image.bmp"라는 이름의 아카이브에 추가되고 "data\text\song.txt" 파일은 추가됩니다. "lyrics.txt"라는 이름으로 추가됩니다. 두 경우 모두 아카이브는 "archive.zip"으로 저장됩니다. 이러한 방법을 사용하면 아카이브 내에서 이름을 변경할 수 있는 기능을 통해 전체 디렉터리와 개별 파일을 모두 ZIP 아카이브에 추가할 수 있어 데이터 구성에 유연성이 제공됩니다.
7ZIP으로 폴더 압축
7Z 형식의 경우 접근 방식은 이전 접근 방식과 유사하지만 7z 압축을 처리하기 위해 SevenZipArchive 클래스를 사용합니다.
with zp.sevenzip.SevenZipArchive() as archive:
archive.create_entries("D:\\Data")
archive.save("archive.7z")
TAR에서 파일 압축
zip 아카이브 클래스 대신 TarArchive를 사용할 수 있습니다. 사용법은 이전 예제와 완전히 유사합니다.
with zp.tar.TarArchive() as archive:
archive.create_entries("D:\\Data")
archive.save("archive.tar")
Sampe 2:
with zp.tar.TarArchive() as archive:
archive.create_entry("data\\pictures\\photo.bmp", "image.bmp")
archive.create_entry("data\\text\\song.txt", "lyrics.txt")
archive.save("archive.tar")
자르
XarArchive는 앞에서 설명한 예제와 유사하게 작동하여 구조를 유지하면서 파일이나 디렉터리를 추가하는 옵션을 사용하여 XAR 아카이브를 생성할 수 있습니다.
with open("archive.xar", "xb") as xar_file:
with zp.xar.XarArchive() as archive:
archive.create_entries("C:\\Folder", false)
archive.save(xar_file)
Python.Net API 기능에 대해 지원되는 기타 Aspose.ZIP
Python.Net의 Aspose.ZIP 라이브러리를 사용하면 ZIP 파일 문서와 관련된 다양한 작업을 원활하게 처리할 수 있습니다. 형식 변환, 파일 병합, 콘텐츠 편집 또는 데이터 추출이 필요한 경우 Aspose.ZIP은 작업 흐름을 간소화하고 생산성을 향상시키는 포괄적인 기능을 제공합니다.