개요
어떤 상황에서는 아카이브에서 파일을 선택적으로 삭제해야 합니다. 제거는 마스크 또는 기타 기준에 따라 수행될 수 있습니다.Aspose.ZIP은 여러 형식에서 선택적 삭제를 지원합니다.
Python ZIP 아카이브에서 파일 제거
delete_entry 메소드는 ZIP 아카이브에서 전체 항목을 삭제하는 데 사용됩니다. 이 작업은 독립적이며 전체 아카이브를 다시 처리할 필요가 없습니다.
ZIP 아카이브 항목은
DeleteEntry
방법 쌍을 사용하여 삭제할 수 있습니다. 항목 삭제는 재압축 없이 발생하므로 다른 항목은 압축 해제 및 재압축 없이 변경되지 않은 상태로 유지됩니다.
with zp.Archive("archive.zip") as archive:
while len(archive.entries) > 1:
archive.delete_entry(archive.entries[0])
archive.save("last_entry.zip")
이 코드는 기존 ZIP 아카이브 "archive.zip"을 처리합니다. 마지막 항목을 제외한 모든 항목을 연속적으로 제거하여 남은 파일만 포함하는 "last_entry.zip"이라는 새 아카이브를 효과적으로 생성합니다.
TAR에서 파일 제거
delete_entry 메소드는 TAR 아카이브에서 항목을 제거하는 데에도 효과적입니다. 이 프로세스는 독립적으로 작동하므로 전체 아카이브를 다시 처리할 필요가 없습니다. 아래 예와 같이 TAR 파일에 대해 delete_entry 메소드를 사용하면 항목을 원활하게 삭제할 수 있으므로 나머지 항목은 영향을 받지 않고 압축 해제 또는 재압축을 거치지 않습니다.
with zp.tar.TarArchive("two_files.tar") as archive:
archive.delete_entry(0)
archive.save("single_file.tar")
압축된 tar(*.tar.gz)에서 항목을 삭제하려면 일반 *.tar로 압축을 풀어야 합니다.
CPIO 아카이브에서 파일 제거
TAR과 유사하게 CPIO에서 항목을 삭제할 수 있습니다.
with zp.cpio.CpioArchive("two_files.cpio") as archive:
archive.delete_entry(archive.entries[0]).save("single_file.cpio")
delete_entry 메소드는 아카이브 인스턴스를 반환한다는 점을 기억하세요. 이는 경우에 따라 코드를 더 간결하게 만드는 데 도움이 됩니다.
XAR 파일에서 삭제
Xar 아카이브에는 단일 항목 삭제 방법인 delete_entry도 있습니다.
이 샘플에서는 마지막 항목을 제외한 모든 항목이 제거됩니다.
with zp.xar.XarArchive("archive.xar") as archive:
while len(archive.entries) > 1:
archive.delete_entry(0)
archive.save("last.xar")
이 예에서는 격리된 처리를 보여줍니다. 즉, 나머지 항목의 압축 상태에 영향을 주지 않고 아카이브를 수정한다는 의미입니다. 코드는 하나만 남을 때까지 "archive.xar"에서 항목을 반복적으로 삭제합니다. 마지막으로 결과 아카이브는 "last.xar"로 저장됩니다.
Python.Net API 기능에 대해 지원되는 기타 Aspose.ZIP
Python.Net의 Aspose.ZIP 라이브러리를 사용하면 ZIP 파일 문서와 관련된 다양한 작업을 원활하게 처리할 수 있습니다. 형식 변환, 파일 병합, 콘텐츠 편집 또는 데이터 추출이 필요한 경우 Aspose.ZIP은 작업 흐름을 간소화하고 생산성을 향상시키는 포괄적인 기능을 제공합니다.