Python 2.x에서 zipfile 모듈을 사용하여 ZIP 파일을 생성하고 압축을 푸는 방법

王林
풀어 주다: 2023-08-01 14:46:53
원래의
1462명이 탐색했습니다.

zipfile 모듈을 사용하여 Python 2.x에서 ZIP 파일을 생성하고 압축을 푸는 방법

소개:
ZIP 파일은 파일과 폴더를 압축하고 패키지하는 데 자주 사용되는 일반적인 아카이브 파일 형식입니다. Python은 ZIP 파일을 생성하고 압축을 풀기 위한 zipfile 모듈을 제공합니다. 이 기사에서는 Python 2.x에서 zipfile 모듈을 사용하여 ZIP 파일을 생성하고 압축을 푸는 방법을 소개합니다.

설치:
Python 2.x에는 이미 기본적으로 zipfile 모듈이 포함되어 있으므로 추가 설치가 필요하지 않습니다.

ZIP 파일 만들기:
다음은 zipfile 모듈을 사용하여 지정된 파일과 폴더가 포함된 ZIP 파일을 만드는 방법을 보여주는 샘플 코드입니다.

import zipfile
import os

def create_zip_file(zip_file_name, file_list):
    with zipfile.ZipFile(zip_file_name, 'w') as zip_file:
        for file_path in file_list:
            zip_file.write(file_path, os.path.basename(file_path))

# 示例使用
files = ['file1.txt', 'file2.txt', 'folder']  # 要包含在 ZIP 文件中的文件列表
create_zip_file('my_archive.zip', files)
로그인 후 복사

위 코드에서는 먼저 zipfile과 os 모듈을 가져왔습니다. 그런 다음 ZIP 파일 이름과 파일 목록을 매개변수로 받아들이는 create_zip_file 함수가 정의됩니다. 내부적으로 함수는 zipfile 모듈의 ZipFile 클래스를 사용하여 ZIP 파일 인스턴스를 생성한 다음 파일 목록을 반복하고 ZipFile 객체의 쓰기 메서드를 사용하여 파일을 ZIP 파일에 추가하고 다음의 basename 메서드를 사용합니다. os 모듈을 사용하여 파일의 기본 파일 이름을 얻습니다. 마지막으로 with 블록 끝에서 ZIP 파일이 자동으로 닫힙니다.

ZIP 파일 추출:
다음은 zipfile 모듈을 사용하여 ZIP 파일의 압축을 푸는 방법을 보여주는 샘플 코드입니다.

import zipfile

def extract_zip_file(zip_file_name, extract_folder):
    with zipfile.ZipFile(zip_file_name, 'r') as zip_file:
        zip_file.extractall(extract_folder)

# 示例使用
zip_file = 'my_archive.zip'  # 要解压的 ZIP 文件名称
extract_folder = 'extracted'  # 解压后的文件夹名称
extract_zip_file(zip_file, extract_folder)
로그인 후 복사

위 코드에서는 ZIP 파일 이름과 압축이 풀린 폴더 이름을 매개변수로 받아들이는 extract_zip_file 함수를 정의합니다. 내부적으로 함수는 zipfile 모듈의 ZipFile 클래스를 사용하여 ZIP 파일 인스턴스를 생성하고 ZipFile 객체의 extractall 메서드를 통해 지정된 폴더에 ZIP 파일을 추출합니다. 마찬가지로 with 블록 끝에서 ZIP 파일이 자동으로 닫힙니다.

요약:
zipfile 모듈을 사용하면 Python 2.x에서 ZIP 파일을 쉽게 생성하고 압축을 풀 수 있습니다. 이 문서에서는 zipfile 모듈을 사용하여 ZIP 파일을 만들고 압축을 푸는 방법을 설명하고 해당 코드 예제를 제공합니다. 이러한 샘플 코드는 실제 응용에서 쉽게 사용될 수 있으며, 모든 분들께 도움이 되기를 바랍니다.

위 내용은 Python 2.x에서 zipfile 모듈을 사용하여 ZIP 파일을 생성하고 압축을 푸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿