중화사전망 - 자전 검색 - 파이썬 ZIP 파일 압축 및 압축 해제 방법

파이썬 ZIP 파일 압축 및 압축 해제 방법

1, 설명

파이썬은 zipfile 모듈을 사용하여 zip 파일을 압축하고 압축을 풉니다.

2. 암호

수입? Os, os.path

수입? Zipfile

Def? Zip_dir (디렉토리 이름, zip 파일 이름):

파일 목록? =? []

만약? Os.path.isfile (디렉토리 이름):

Filelist.append (디렉토리 이름)

그렇지 않으면요? 다음 중 하나를 수행합니다.

뭐 때문에? 뿌리,? Dirs? 파일? 네? Os.walk (디렉토리 이름):

뭐 때문에? 이름? 네? 파일:

Filelist.append (os.path.join (루트, 이름))

Zf? =? Zipfile. ZipFile(zipfilename, "w",? Zipfile.zlib.DEFLATED)

뭐 때문에? 타르? 네? 파일 목록:

Arcname? =? Tar[len (디렉토리 이름):]

# 인쇄? Arcname

Zf.write(tar, arcname)

Zf.close ()

Def? Unzip_file(zipfilename, unziptodir):

만약? 그렇지 않나요? Os.path.exists(unziptodir):? Os.mkdir(unziptodir)

Zfobj? =? Zipfile. ZipFile(zipfilename)

뭐 때문에? 이름? 네? Zfobj.namelist ():

이름? =? Name.replace('\\','/')

만약? Name.endswith('/'):

Os.mkdir (os.path.join (unzip todir,? 이름))

그렇지 않은 경우:

Ext _ 파일 이름? =? Os.path.join(unziptodir,? 이름)

Ext_dir=? Os.path.dirname (확장자)

만약? 그렇지 않나요? Os.path.exists(ext_dir)? :? Os.mkdir (외부 디렉토리)

Outfile? =? 열기 (파일 확장자,? WB')

Outfile.write(zfobj.read(name))

Outfile.close ()

만약? __name__? = =? __main__':

Zip_dir(r'd:/python/test', r'd:/python/test.zip')

Unzip _ file (r' d:/python/test.zip', r'd:/python/test2') 실행 결과.

해당 파일이 성공적으로 생성되었습니다.

3. 의견

Zip 파일 형식은 일반적인 문서 압축 표준입니다. Zipfile 모듈에서 ZipFile 클래스는 다음과 같이 zip 파일을 조작하는 데 사용됩니다.

Zipfile 클래스입니다. ZipFile (파일 [,모드 [,압축 [,allowZip64]])

Zip 파일을 나타내는 ZipFile 객체를 작성합니다. File 매개 변수는 파일 또는 이와 유사한 파일의 객체 경로를 나타냅니다. Mode 매개변수는 zip 파일을 여는 모드를 나타냅니다. 기본값은' r' 로, 기존 zip 파일을 읽는다는 의미이거나' w' 또는' a' 일 수 있습니다. W' 는 새 zip 파일을 만들거나 기존 zip 파일을 덮어쓰는 것을 의미하고' a' 는 기존 zip 파일에 데이터를 추가하는 것을 의미합니다. Compression 매개 변수는 zip 문서를 작성할 때 사용되는 압축 방법을 나타내며 zipfile 값이 될 수 있습니다. ZIP_STORED 또는 zipfile 입니다. ZIP _ 수축. 작업할 zip 파일의 크기가 2G 를 초과하는 경우 allowZip64 를 True 로 설정해야 합니다.

ZipFile 은 다음과 같은 일반적인 메서드와 속성도 제공합니다.

ZipFile.getinfo (이름):

Zip 문서에 지정된 파일에 대한 정보를 가져옵니다. Zip 파일을 반환합니다. 파일 상세 정보가 포함된 ZipInfo 객체. 이 목적은 아래에 자세히 설명되어 있습니다.

ZipFile.infolist ()

Zip 문서의 모든 파일에 대한 정보를 가져오고 zipfile 목록을 반환합니다. ZipInfo

ZipFile.namelist ()

Zip 문서에 있는 모든 파일의 이름 목록을 가져옵니다.

ZipFile.extract (멤버 [,경로 [,pwd]])