>  기사  >  백엔드 개발  >  zlib 모듈을 사용하여 문자열과 파일을 압축 및 압축 해제하는 Python의 메소드 코드에 대한 자세한 설명

zlib 모듈을 사용하여 문자열과 파일을 압축 및 압축 해제하는 Python의 메소드 코드에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-03-24 17:39:581734검색

파이썬의 zlib 모듈은 저장 및 전송을 위해 데이터를 압축하거나 압축을 푸는 데 사용됩니다. 이는 다른 압축 도구의 기초입니다. Python이 zlib 모듈을 사용하여 문자열과 파일을 압축하고 압축을 푸는 방법을 살펴보겠습니다. 더 이상 고민하지 않고 샘플 코드를 직접 살펴보겠습니다.
예제 1: 문자열 압축 및 압축 해제

import zlib
message = 'abcd1234'
compressed = zlib.compress(message)
decompressed = zlib.decompress(compressed)
print 'original:', repr(message)
print 'compressed:', repr(compressed)
print 'decompressed:', repr(decompressed)


결과

original: 'abcd1234'
compressed: 'x\x9cKLJN1426\x01\x00\x0b\xf8\x02U'
decompressed: 'abcd1234'


예 2: 압축 및 압축 해제된 파일

import zlib
def compress(infile, dst, level=9):
 infile = open(infile, 'rb')
 dst = open(dst, 'wb')
 compress = zlib.compressobj(level)
 data = infile.read(1024)
 while data:
  dst.write(compress.compress(data))
  data = infile.read(1024)
 dst.write(compress.flush())
def decompress(infile, dst):
 infile = open(infile, 'rb')
 dst = open(dst, 'wb')
 decompress = zlib.decompressobj()
 data = infile.read(1024)
 while data:
  dst.write(decompress.decompress(data))
  data = infile.read(1024)
 dst.write(decompress.flush())
if __name__ == "__main__":
 compress('in.txt', 'out.txt')
 decompress('out.txt', 'out_decompress.txt')


결과
생성된 파일

out_decompress.txt out.txt


문제 - 처리 개체가 너무 큰 예외

아아앙


위 내용은 zlib 모듈을 사용하여 문자열과 파일을 압축 및 압축 해제하는 Python의 메소드 코드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.