티스토리 뷰

728x90
반응형

압축 폴더를 푸는 방법에는 unzip, shutil, zipfile 3가지 방법이 있다.

3가지 방법 모두 output 폴더가 없다면 자동으로 생성해 주며, Colab에서 별도 설치 없이 실행 가능하다.

1. unzip

  • unzip은 Linux에서 사용하는 명령어이다.
  • Colab에서 unzip을 사용하는 방법은 두 가지이며 os 모듈을 통한 방법이 훨씬 빠르다.
  1. Command Line
    • unzip [파일명] -d [저장위치]
    !unzip dataset.zip -d ./dataset/dataset
  2. os 모듈
    • Command Line 명령어를 그대로 os.system 함수 안에 입력하면 된다.
    import os
    file_name = "dataset.zip"
    output_dir = "dataset/dataset"
    os.system("unzip "+file_name+" -d "+output_dir)

2. shutil

  • unpack_archive 함수를 사용해 압축 해제할 파일 이름, 저장할 위치, archive format을 지정해주면 된다.
  • shutil은 zip, tar, gztar, bztar 4가지 format을 지원한다.
  • 파이썬 내장 라이브러리이기 때문에 별도 설치가 필요 없다. 
import shutil
file_name = "dataset.zip"
output_dir = "dataset/dataset"
format = "zip"
shutil.unpack_archive(file_name, output_dir, format)

3. zipfile

  • 압축을 풀 파일을 ZipFile로 불러온 뒤 extractall 함수를 통해 압축을 해제한다.
  • 마찬가지로 파이썬 내장 라이브러리이기 때문에 별도 설치가 필요 없다.
import zipfile
file_name = "dataset.zip"
output_dir = "dataset/dataset"
zip_file = zipfile.ZipFile(file_name)
zip_file.extractall(path=output_dir)

4. 속도 비교

  • Colab에서 3가지 방법의 속도를 비교하였을 때, os를 통해 unzip 명령어를 사용하는 방법이 가장 빨랐다.

728x90
반응형
댓글