[파이썬] shutil `shutil.make_archive()`에서 압축 포맷 지정하기

파이썬 shutil 모듈은 파일 및 디렉토리 관련 작업을 수행하는 데 유용한 함수와 클래스를 제공합니다. 그 중에서 make_archive() 함수는 파일이나 디렉토리를 압축하는 일을 처리해줍니다. 이 함수를 사용하여 압축 파일을 만들 때, 원하는 압축 포맷을 지정하는 방법을 알아보겠습니다.

make_archive() 함수

shutil.make_archive(base_name, format, root_dir, **kwargs) 함수는 주어진 경로의 파일 또는 디렉토리를 압축하여 압축 파일을 생성합니다. base_name은 생성할 압축 파일의 이름이며, format은 원하는 압축 포맷을 지정하는 매개변수입니다. 압축 포맷은 'zip', 'tar', 'gztar', 'bztar', 'xztar' 등 다양한 옵션을 제공합니다.

압축 포맷 지정하기

make_archive() 함수를 사용할 때, format 매개변수에 압축 포맷을 지정합니다. 예를 들어, zip 포맷으로 압축 파일을 생성하려면 아래와 같이 코드를 작성합니다.

import shutil

shutil.make_archive('archive', 'zip', 'directory_path')

여기서 'archive'는 생성할 압축 파일의 이름이고, 'zip'은 압축 포맷을 나타냅니다. 'directory_path'는 압축할 디렉토리의 경로입니다. 위의 코드는 'directory_path' 디렉토리를 'archive.zip' 압축 파일로 생성합니다.

압축 포맷을 'zip' 이외의 다른 옵션으로 지정하고 싶다면, format 매개변수에 해당 포맷을 전달하면 됩니다. 예를 들어, tar 포맷으로 압축 파일을 생성하고 싶다면 'tar'로 설정하면 됩니다.

import shutil

shutil.make_archive('archive', 'tar', 'directory_path')

위의 코드는 'directory_path' 디렉토리를 'archive.tar' 압축 파일로 생성합니다.

압축 포맷을 지정할 때, 올바른 포맷 문자열을 사용하는 것이 중요합니다. 올바른 포맷을 사용하지 않으면 UnsupportedOperation 오류가 발생할 수 있습니다. 따라서 사용 가능한 압축 포맷에 대한 자세한 내용은 파이썬 공식 문서를 참조하는 것이 좋습니다.

마치며

shutil.make_archive() 함수를 사용하여 파이썬에서 파일 및 디렉토리를 압축하는 일을 처리할 수 있습니다. 원하는 압축 포맷을 지정하여 효율적으로 압축 파일을 생성할 수 있습니다. 압축 포맷에 대한 정확한 값들은 파이썬 공식 문서에서 확인해야 합니다.