반응형
안녕하세요. 위기의 코딩맨입니다.
오늘은 데이터를 전송할 때, 용량을 줄이기 위한 라이브러리를 포스팅해보려 합니다.
예를들면 길이가 3만 바이트 이상되는 문자열을 서버로 전송한다고 생각해봅시다.
그러나 서버에서는 2천 바이트 이상은 부하가 걸릴 것 같아서 받지 않도록 했습니다.
그러면 3만 바이트를 나눠서 15번 보내야할까요??? ㅎㅎㅎ
zlib 를 사용하시면 됩니다.
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/009.gif)
[ zlib ]
바로 예제를 풀어보도록 하겠습니다.
import zlib
data_ = 'hi, my name is OOO' * 2000
print(len(data_))
위의 출력값으로는 3만6천이 출력됩니다.
zlib의 compress 함수를 통해서 압축할 정보를 encoding을 진행해서 넣어주도록 합니다.
c_data = zlib.compress(data_.encode(encoding ='utf-8'))
print(len(c_data))
해당 출력값은 132가 출력됩니다.
엄청나게 용량이 줄어든 것을 확인할 수 있습니다.
그러나 용량만 줄고 압축되면 의미가 없죠?
다시 풀어서 길이를 확인해보도록 하겠습니다.
d_data = zlib.decompress(c_data).decode('utf-8')
print(len(d_data))
compress를 적용한 데이터를 다시 decompress 함수를 사용해서
decode를 진행해서 길이를 출력했습니다.
해당 출력 값은 처음은 3만 6천줄이 출력되는 것을 확인할 수 있습니다.
해당 방식을 사용하면 전송하는 데이터, 저장 데이터의 용량을 보다 쉽게 관리할 수 있을것 같습니다.
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/005.gif)
반응형
'Python' 카테고리의 다른 글
[Python] XSS(Cross Site Scripting) 예방 - html 라이브러리를 활용해보자! (3) | 2024.03.04 |
---|---|
[OpenSSL] SSL 인증서를 설치하고 적용해보자! with ubuntu, Nginx (1) | 2024.02.27 |
[Python] 날짜 관리 - datetime 라이브러리를 사용해보자! (2) | 2024.02.19 |
[Python] 문자열 관리 - textwrap 라이브러리를 활용해보자! (2) | 2024.02.16 |
[Python] dependency - 디펜던시를 이용하여 프로젝트 관리 (2) | 2024.01.12 |