[파이썬] shutil로 압축 파일 검색 및 관리하기

압축 파일은 파일을 효율적으로 저장하고 전송하기 위해 사용되는 유용한 도구입니다. Python의 shutil 라이브러리를 사용하면 압축 파일을 검색하고 관리하는 데 도움이 됩니다. 이 블로그 포스트에서는 shutil을 사용하여 압축 파일을 검색하고 압축을 해제하거나 압축 파일을 만드는 방법을 알아보겠습니다.

압축 파일 검색하기

압축 파일을 검색하는 첫 번째 단계는 파일 시스템에서 원하는 파일 확장자를 가진 파일을 찾는 것입니다. shutil 라이브러리의 glob 메서드를 사용하여 특정 경로에서 파일을 검색할 수 있습니다. 아래는 .zip 확장자를 가진 모든 파일을 검색하는 예제입니다.

import os
import glob
import shutil

def search_zip_files(directory):
    os.chdir(directory)
    for file in glob.glob("*.zip"):
        print(file)

압축 파일을 검색할 경로를 지정하고 glob.glob 메서드를 사용하여 해당 경로의 모든 .zip 파일을 찾습니다. os.chdir 메서드를 사용하여 작업 디렉토리를 변경한 후 압축 파일을 검색합니다.

압축 해제하기

검색한 압축 파일을 압축 해제하여 파일을 추출할 수 있습니다. shutil 라이브러리의 unpack_archive 메서드를 사용하여 압축 파일을 해제할 수 있습니다. 아래는 압축 파일을 검색하고 해제하는 예제입니다.

import os
import glob
import shutil

def extract_zip_files(directory, output_directory):
    os.chdir(directory)
    for file in glob.glob("*.zip"):
        shutil.unpack_archive(file, output_directory)

위의 코드에서 unpack_archive 메서드는 첫 번째 매개변수로 압축 파일의 경로를 받고, 두 번째 매개변수로 파일을 추출할 디렉토리를 받습니다.

압축 파일 생성하기

압축 파일을 생성하는 것도 shutil 라이브러리로 간단하게 처리할 수 있습니다. shutilmake_archive 메서드를 사용하여 파일과 디렉토리를 압축 파일로 만들 수 있습니다. 아래는 디렉토리를 압축 파일로 만드는 예제입니다.

import shutil

def create_zip_file(directory, output_filename):
    shutil.make_archive(output_filename, 'zip', directory)

위의 코드에서 make_archive 메서드는 첫 번째 매개변수로 생성될 압축 파일의 이름을 받고, 두 번째 매개변수로 압축 파일 형식을 정의합니다. (‘zip’, ‘tar’, ‘gztar’ 등) 마지막 매개변수는 압축할 디렉토리를 받습니다.

shutil 라이브러리를 사용하면 Python으로 압축 파일을 검색하고 생성하고 관리할 수 있습니다. 이를 통해 파일 처리 작업을 편리하게 수행할 수 있습니다.

압축 파일의 검색, 압축 해제 및 생성 등 다른 작업을 수행하려면 shutil 라이브러리의 다른 유용한 메서드를 찾아보세요!