압축 파일은 파일을 효율적으로 저장하고 전송하기 위해 사용되는 유용한 도구입니다. 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
라이브러리로 간단하게 처리할 수 있습니다. shutil
의 make_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
라이브러리의 다른 유용한 메서드를 찾아보세요!