가끔 파이썬에서 압축파일을 해제해야 할 경우가 생깁니다. 파이썬에서 압축 파일을 해제하는 방법은 여러 가지가 있습니다. 먼저 OS명령어를 이용해서 해제하는 방법이 있습니다. 압축 프로그램이 PC에 설치된 경우, 이 프로그램의 명령어를 실행하는 것입니다. 또 다른 방법은 파이썬의 압축 관련 모듈인 zipfile을 이용하는 방법이 있습니다. 오늘은 파이썬에서 압축파일 해제하는 방법을 운영체제별(윈도우, 맥북)로 차례대로 알아보겠습니다.

 

 

1. 터미널(또는 명령 프로프트)에서 압축을 해제하는 방법

각각의 운영체제에는 '셸' 프로그램이 있습니다. '셸'은 명령어를 입력하여 프로그램을 실행하는 환경을 말합니다. 깜깜한 배경에 커서만 깜빡이는 환경을 상상하면 쉽습니다. 맥은 '터미널'이라는 셸 프로그램이 있고, 윈도우는 '명령 프롬프트'가 있습니다.

 

파이썬에서는 os모듈을 이용해서, '셸'프로그램에 직접 명령어를 날릴 수 있습니다. 셸에서 압축파일 해제도 가능하지요.

 

 

 

맥북의 터미널에서 아래와 같이 입력하면, 압축파일이 해제됩니다.

 

unzip test.zip

 

 

이제 os모듈을 이용해서, 아래와 같이 코드를 실행하면 압축파일이 해제됩니다.

 

import os

os.system("unzip test.zip")

 

 

윈도에서 압축파일 해제하는 방법을 알아보겠습니다. 윈도에서는 unzip명령어가 없습니다. 그리고 power-shell(파워셸)을 사용해야 합니다. 원도우의 '셸'프로그램은 cmd였습니다. 윈도우 시작 버튼을 누르고, 실행에서 cmd를 입력하면 아래와 같이 실행되는 것을 확인할 수 있습니다.

 

윈도우-명령프롬프트-실행화면
윈도우 명령프롬프트

 

 

파워 셸은 윈도 10에 적용된 '셸' 프로그램입니다. 기존 프로그램보다 업그레이드된 버전이라고 보면 되겠습니다. 파워 셸에서는 zip 파일 압축해제 명령도 날릴 수 있습니다. 명령 프롬프트에서 powershell을 입력합니다. 그럼, 아래와 같이 파워 셸이 실행됩니다.

 

 

윈도우-파워쉘-실행화면
윈도우-파워쉘

 

 

'Compress-Archive *.*'이라고 입력하면, 해당 폴더의 모든 파일을 압축합니다. 압축해제는 'Expand-Archive 압축파일. zip'을 입력하면 됩니다. 명령 프롬프트에서 파워 셸 실행 명령까지 한 번에 'powershell.exe Expand-Archive 압축파일. zip'라고 입력하면, 바로 압축해제를 할 수 있습니다.

 

powershell.exe Expand-Archive test.zip

 

 

이제 os모듈을 이용해서, 아래와 같이 실행하면 압축파일이 해제됩니다.

 

import os

os.system("powershell.exe Expand-Archive test.zip")

 

 

2. zip 파일 모듈 이용

파이썬에는 zip 파일을 컨트롤할 수 있는 패키지가 있습니다. zipfile모듈인데, 파이썬 내장 라이브러리이기 때문에, 별도로 설치할 필요는 없습니다.


사용방법은 간단합니다. zipfile모듈을 불러온 후에, 압축을 해제하고자 하는 파일을 ZipFile함수를 이용해서 호출합니다. 이 객체에 extractall함수를 호출하면 압축파일이 해제됩니다. 특정 경로에서 압출을 해제하고 싶다면, 입력 파라미터로 경로를 입력하면 됩니다.

 

import zipfile

zip_file=zipfile.ZipFile("test.zip")

zip_file.extractall()



오늘은 이렇게 파이썬에서 zip 파일 압축 풀기를 하는 방법에 대해서 알아보았습니다. 2가지 방법 중에서 편리한 방법으로 하면 되겠습니다.

 

파이썬 독학 필수! 추천 무료 강의 사이트 BEST3는?!

파이썬을 배울 수 있는 소스는 많다. 유료 강의도 많이 있지만, 무료도서나 강의도 퀄리티가 높다. 파이썬은 프로그래밍 언어 중에서도 문법이 쉽고 직관적이기 때문에 배우기 

aplab.tistory.com

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기