> 백엔드 개발 > 파이썬 튜토리얼 > zipfile 모듈을 사용하여 Python 3.x에서 ZIP 파일을 생성하고 압축을 푸는 방법

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

PHPz
풀어 주다: 2023-07-30 18:49:53
원래의
1396명이 탐색했습니다.

Python 3.x에서 zipfile 모듈을 사용하여 ZIP 파일을 만들고 압축을 푸는 방법

소개:
Python 프로그래밍에서 파일 압축 및 압축 풀기를 처리하는 것은 일반적인 작업입니다. zipfile 모듈은 ZIP 파일을 생성하고 압축을 푸는 편리한 방법을 제공합니다. 이 기사에서는 zipfile 모듈을 사용하여 ZIP 파일을 생성 및 압축 해제하는 방법을 소개하고 해당 코드 예제를 제공합니다.

1. ZIP 파일 만들기:
ZIP 파일을 만들려면 먼저 zipfile 모듈을 가져온 다음 ZipFile 개체를 사용하여 파일을 만들고 작성해야 합니다. 다음은 간단한 예제 코드입니다:

import zipfile

# 创建一个名为example.zip的ZIP文件
with zipfile.ZipFile('example.zip', 'w') as myzip:
    # 向ZIP文件中写入一个名为file1.txt的文件
    myzip.write('file1.txt')
    # 向ZIP文件中写入一个名为file2.txt的文件
    myzip.write('file2.txt')
    # 可以通过使用相对路径来写入文件到ZIP文件的指定目录下
    myzip.write('folder/file3.txt', 'data/file3.txt')
로그인 후 복사

위 코드에서는 Python의 컨텍스트 관리자(with 문)를 사용하여 작업이 완료될 때 ZIP 파일이 닫히도록 했습니다. with 문 내에서 write() 메서드를 사용하여 ZIP 파일에 파일을 씁니다. write() 메소드에는 두 개의 매개변수가 포함되어 있습니다. 첫 번째 매개변수는 작성될 파일 이름 또는 경로이고, 두 번째 매개변수는 ZIP 파일의 파일 경로입니다. 두 번째 인수가 제공되지 않으면 파일은 ZIP 파일의 루트 디렉터리에 기록됩니다. with语句内部,我们通过write()方法来向ZIP文件中写入文件。write()方法包含两个参数,第一个参数是要写入的文件名或路径,第二个参数是文件在ZIP文件中的路径。如果第二个参数不提供,则文件将被写入ZIP文件的根目录。

二、解压ZIP文件:
要解压一个ZIP文件,我们可以使用zipfile.ZipFile对象的extractall()方法。下面是一个解压ZIP文件的示例代码:

import zipfile

# 打开名为example.zip的ZIP文件
with zipfile.ZipFile('example.zip', 'r') as myzip:
    # 解压ZIP文件的所有内容到当前目录下
    myzip.extractall()
로그인 후 복사

在上面的代码中,我们使用了与创建ZIP文件类似的上下文管理器,确保在完成解压操作后关闭ZIP文件。我们通过extractall()方法来解压ZIP文件的所有内容到当前目录下。如果需要将ZIP文件解压到指定目录,可以在extractall()方法中传入一个参数,指定解压目标路径。

三、遍历ZIP文件内容:
除了创建和解压ZIP文件,我们还可以遍历ZIP文件中的所有文件和目录。zipfile.ZipFile对象提供了namelist()方法来获取ZIP文件中的所有文件和目录列表。下面是一个遍历ZIP文件内容的示例代码:

import zipfile

# 打开名为example.zip的ZIP文件
with zipfile.ZipFile('example.zip', 'r') as myzip:
    # 获取ZIP文件中的所有文件和目录列表
    filelist = myzip.namelist()
    
    # 遍历文件列表并打印
    for filename in filelist:
        print(filename)
로그인 후 복사

在上面的代码中,我们使用了namelist()方法获取ZIP文件的文件列表,并将其赋值给变量filelist。然后,我们使用for循环遍历filelist

2. ZIP 파일 추출:

ZIP 파일의 압축을 풀려면 zipfile.ZipFile 개체의 extractall() 메서드를 사용할 수 있습니다. 다음은 ZIP 파일의 압축을 풀기 위한 샘플 코드입니다:
rrreee

위 코드에서는 ZIP 파일을 생성하는 데 사용된 것과 유사한 컨텍스트 관리자를 사용하여 압축 풀기 작업이 완료된 후 ZIP 파일이 닫히도록 합니다. extractall() 메서드를 사용하여 ZIP 파일의 모든 내용을 현재 디렉터리로 추출합니다. ZIP 파일을 지정된 디렉터리에 추출해야 하는 경우 extractall() 메서드에 매개변수를 전달하여 압축 해제 대상 경로를 지정할 수 있습니다. 🎜🎜3. ZIP 파일 콘텐츠 탐색: 🎜ZIP 파일을 생성하고 압축을 푸는 것 외에도 ZIP 파일의 모든 파일과 디렉터리를 탐색할 수도 있습니다. zipfile.ZipFile 객체는 ZIP 파일의 모든 파일과 디렉터리 목록을 가져오는 namelist() 메서드를 제공합니다. 다음은 ZIP 파일의 내용을 탐색하기 위한 샘플 코드입니다. 🎜rrreee🎜위 코드에서는 namelist() 메서드를 사용하여 ZIP 파일의 파일 목록을 가져와서 변수 filelist. 그런 다음 for 루프를 사용하여 filelist를 반복하고 파일 이름을 인쇄합니다. 🎜🎜결론: 🎜zipfile 모듈을 사용하면 ZIP 파일을 쉽게 생성하고 압축을 풀 수 있습니다. 이 기사에서는 zipfile 모듈을 사용하여 ZIP 파일을 생성하고, ZIP 파일의 압축을 풀고, ZIP 파일의 내용을 탐색하는 방법을 소개하고 해당 코드 예제를 제공합니다. 이 기사가 Python 프로그래밍에서 파일 압축 및 압축 풀기 작업을 처리하는 데 도움이 되었기를 바랍니다. 🎜

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

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