반응형
zipfile 모듈이란?
- zip 파일 형식은 흔히 쓰이는 압축 표준
- 이 모듈은 zip 파일을 만들고 읽기, 쓰기, 추가, 나열하는 도구를 제공
- 최대 4Gb까지의 압축 파일을 처리
파이썬
압축 풀기
- zipfile.ZipFile('경로/파일이름') : 해당 파일을 읽어옴, 디폴트 값이 'r' (읽기 모드)
- ZipFile.extractall('경로') : 해당 경로에 압축 해제
- ZipFile.close() : 할당된 시스템 자원 반환
# zip_folder 폴더에 test.zip 압축 해제
zip_ref = zipfile.ZipFile('test.zip')
zip_ref.extractall('/zip_folder')
zip_ref.close()
# 같은 의미
# zipfile.ZipFile('test.zip').extractall('/zip_folder')
압축하기
- zipfile.ZipFile('경로/파일이름', 'w') : 쓰기 모드, 해당 경로와 파일이름으로 압축 파일 생성
- ZipFile.write('파일이름') : 파일 읽기
- ZipFile.close() : 할당된 시스템 자원 반환
my_zip = zipfile.ZipFile('test.zip', 'w')
my_zip.write('test.txt')
my_zip.close()
여러개의 파일 압축하기
- 변수 = [파일1, 파일2, 파일3...] : 파일들 리스트화하여 변수 저장
- with문과 for문을 이용하여 파일을 읽고 압축
file_list = ['test.txt', 'test2.txt', 'test3.txt']
with zipfile.ZipFile('test.zip', 'w') as my_zip :
for i in file_list :
my_zip.write(i)
my_zip.close()
리눅스 명령어로 압축/해제하기
- 압축
- file1, file2를 my_zip 이름으로 압축
!zip my_zip.zip file1, file2
- 압축 해제
- 'my_zip' 이름의 압축 파일을 압축 해제
!unzip my_zip.zip
반응형