Python에서 파일 압축 해제

Azaz Farooq 2023년10월10일
  1. extractall()메서드를 사용하여 작업 디렉토리에 Python으로 파일 압축 해제
  2. extractall()메서드를 사용하여 Python에서 파일을 다른 디렉토리에 압축 해제
  3. 조건에 따라extractall()메서드를 사용하여 Python에서 파일 압축 해제
  4. unpack_archive()메서드를 사용하여 Python에서 파일 압축 해제
Python에서 파일 압축 해제

ZIP 파일은 아카이브 파일 형식이며 무손실 데이터 압축에 도움이됩니다. 하나의 ZIP파일에는 두 개 이상의 압축 파일이 포함될 수 있습니다. ZIP파일에서는 여러 파일이 단일 파일보다 빠르게 전송되고 데이터 크기가 줄어 듭니다. Python 내장ZipFile 모듈을 사용하여 Zip 파일의 압축을 풀 수 있습니다.

이 기사에서는 Python에서 압축 또는 Zip 파일을 추출하는 다양한 방법에 대해 설명합니다.

extractall()메서드를 사용하여 작업 디렉토리에 Python으로 파일 압축 해제

먼저 아래 명령을 사용하여 Python 내장zipfile 모듈을 가져 오겠습니다.

from zipfile import ZipFile

전체 예제 코드는 다음과 같습니다.

from zipfile import ZipFile

test_file_name = "my_files.zip"

with ZipFile(test_file_name, "r") as zip:
    zip.printdir()
    zip.extractall()

ZipFile 함수의r은 파일 읽기 작업을 나타내는 반면extractall()함수는 zip 파일의 내용을 현재 작업 디렉토리로 추출합니다.

출력:

 File Name         Modified                  Size
file1.txt          2020-11-09 23:03:06        0
file2.txt          2020-11-09 23:03:18        0

extractall()메서드를 사용하여 Python에서 파일을 다른 디렉토리에 압축 해제

이 방법은 zip 파일을 추출하지만 다른 디렉토리로 추출합니다. 가장 큰 차이점은extractall()메소드의 인수로 대상 디렉토리를 전달한다는 것입니다.

전체 예제 코드는 다음과 같습니다.

from zipfile import ZipFile

with ZipFile("my_files.zip", "r") as zip:
    zip.extractall("temp")
    print("File is unzipped in temp folder")

현재 작업 디렉토리에 새 디렉토리temp가 생성되고 모든 zip 파일이 압축 해제됩니다.

출력:

Files are unzipped in temp folder

조건에 따라extractall()메서드를 사용하여 Python에서 파일 압축 해제

이 방법은 zip 파일에 많은 수의 파일이 있고 특정 확장자를 가진 파일을 추출해야 할 때 편리합니다. 예를 들어 zip 파일에서.txt 파일을 추출합니다.

전체 예제 코드는 다음과 같습니다.

from zipfile import ZipFile

with ZipFile("my_files.zip", "r") as obj_zip:
    FileNames = obj_zip.namelist()
    for fileName in FileNames:
        if fileName.endswith(".txt"):
            zipObj.extract(fileName, "temp_txt")

namelist()함수는 zip 파일에있는 모든 파일의 이름을 반환합니다.

endswith()메소드는 파일 이름이.txt로 끝나는 지 확인합니다. 그렇다면extract()함수는.txt 파일을 현재 작업 디렉토리의temp_txt 폴더로 추출합니다.

unpack_archive()메서드를 사용하여 Python에서 파일 압축 해제

이 방법은 Python 내장shutil 모듈을 사용합니다. 아카이브 된 파일의 모든 형식을 추출합니다.

전체 예제 코드는 다음과 같습니다.

import shutil

shutil.unpack_archive("test.zip")

추출 된 파일은이 스크립트를 실행중인 현재 작업 디렉토리에 있습니다.