[파이썬] 파일의 디렉토리 내 파일 압축 해제

파이썬을 사용하면 디렉토리 내에 있는 파일을 압축 해제하는 것이 매우 간단하고 편리합니다. 파일의 디렉토리에서 압축된 파일을 찾고, 해당 파일을 해제하는 프로그램을 작성해 보겠습니다.

모듈 설치

먼저, 필요한 모듈인 zipfileos 모듈을 설치해야 합니다. 이 두 모듈은 파이썬 설치 시 기본적으로 함께 제공되므로 별도로 설치할 필요는 없습니다.

import zipfile
import os

압축 해제 함수

다음으로, 압축 해제 함수를 정의합니다. 이 함수는 입력으로 압축 파일의 경로를 받아 해당 파일을 압축 해제하는 역할을 합니다.

def extract_zip_file(zip_file_path):
    with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
        zip_ref.extractall()

압축 파일 경로를 매개변수로 받아 zipfile.ZipFile 함수를 사용해 해당 파일을 열고, extractall() 메서드를 호출하여 압축 해제합니다.

디렉토리 탐색 함수

마지막으로, 디렉토리 탐색 함수를 작성합니다. 이 함수는 입력된 디렉토리 경로를 기반으로 디렉토리 내의 압축 파일들을 찾아 압축 해제 함수를 호출합니다.

def extract_files_in_directory(directory):
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.endswith('.zip'):
                file_path = os.path.join(root, file)
                extract_zip_file(file_path)

os.walk() 함수를 사용하여 입력된 디렉토리 내의 모든 파일과 서브 디렉토리를 재귀적으로 탐색합니다. 각 파일에 대해 확장자가 .zip인지 확인한 후, extract_zip_file() 함수를 호출하여 압축 해제합니다.

실행

이제 압축 해제 함수와 디렉토리 탐색 함수를 이용해 실제로 파일의 디렉토리 내 파일을 압축 해제해봅시다.

directory_path = '/path/to/directory'
extract_files_in_directory(directory_path)

directory_path에는 압축 해제할 파일들이 있는 디렉토리의 경로를 지정하면 됩니다. 이후 extract_files_in_directory() 함수를 호출하면 해당 디렉토리 내의 모든 압축 파일이 해제됩니다.

파이썬을 사용하여 파일의 디렉토리 내 파일을 압축 해제하는 과정을 살펴보았습니다. 이렇게 작성된 코드를 활용하면 많은 파일들을 일괄적으로 압축 해제하는 작업을 쉽게 수행할 수 있습니다.