파이썬에서 zip, 압축파일 풀기를 실행하는 방법은?!

2020. 6. 30. 06:30

가끔 파이썬에서 압축파일을 해제해야 할 경우가 생긴다. 파이썬에서 압출파일을 해제하는 방법은 여러가지가 있다. 필자는 맥북을 사용하는데, 맥에서는 기본 압축프로그램이 설치돼 있다. 명령어도 직관적이라 사용하기가 매우 편리하다. 그럼, 윈도우에서는 어떻게 압출파일을 해제할 수 있을까? 오늘은 파이썬에서 압출파일을 해제하는 방법을 운영체제별(윈도우, 맥북)로 알아보도록 하겠다.


zip파일


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가지 방법 중에서 편리한 방법으로 하면 되겠다.

댓글()
  1. Favicon of https://dongdong1388.tistory.com BlogIcon 지잘난함토끼네 2020.06.30 10:31 신고 댓글주소  수정/삭제  댓글쓰기

    포스팅 잘보고 가요^^
    이제 조금씩 팬들이 생길텐데..말이죠~?!

    정보글 포스팅에 공감 꾹!!!!하고 가요~