- zip 파일 압축
- ZipFile 객체를 만들때 'w' 옵션을 부여: zipfile.ZipFile('new.zip', 'w')
- 'w' 모드는 파일이 새로 만들어지며, 기존 파일이 있으면 내용이 모두 지워진다.
- 'a' 모드는 컨텐츠를 추가할때 사용
import zipfile
newzip = zipfile.ZipFile('new.zip', 'w')
newzip.write('test.txt', compress_type=zipfile.ZIP_DEFLATED)
newzip.write('helloworld.py', compress_type=zipfile.ZIP_DEFLATED)
newzip.close()
- zip 파일에 파일 추가
import zipfile
newzip = zipfile.ZipFile('new.zip', 'a') # a : 추가
newzip.write('temp.py', compress_type=zipfile.ZIP_DEFLATED)
newzip.close()
기존 new.zip 파일에 temp.py 파일을 압축하여 추가 하였다.
- zip 파일 압축 풀기
- extractall() : 현재 디렉토리에 파일과 디렉토리 압축해제
- extract(file_name) : 해당 파일만 압축해제
import os
import zipfile
os.mkdir('C:\\dev\\new') # new 폴더 생성
print(os.getcwd())
os.chdir('C:\\dev\\new') # 경로 이동
myzip = zipfile.ZipFile('C:\\dev\\new.zip')
myzip.extractall()
myzip.close()
c:/dev/new 폴더 생성 후 이 폴더 안에 c:/dev/new.zip 압축을 푼다.
참고로 'C:\\dev\\new' 대신에 'C:/dev/new' 를 쓸 수 있다.
- zip 파일 읽기
import zipfile, os
os.chdir('C:\\dev') # 폴더 변경
myzip = zipfile.ZipFile('new.zip')
print(type(myzip))
print(myzip.namelist()) # 압축된 파일명 리스트
myinfo = myzip.getinfo('helloworld.py') # 압축된 helloworld.py에 대한 정보
print(type(myinfo))
print(myinfo.file_size)
print(myinfo.compress_size)
myzip.close()
'Python' 카테고리의 다른 글
Python logging 로그 (0) | 2022.01.23 |
---|---|
Python 예외 처리 (0) | 2022.01.23 |
Python 파일, 디렉터리 (0) | 2022.01.23 |
Python 정규식 (0) | 2022.01.15 |
Python list, tuple, dictionary, 리스트, 튜플, 딕셔너리 (0) | 2022.01.15 |