Python
[python] byte 단위 변환 코드(byte ->kb, mb, gb, tb, pd, eb)
lim
2021. 10. 28. 20:25
반응형
byte를 입력으로 주면 킬로바이트(kilobyte), 메가바이트(megabyte), 기가바이트(giga byte) 단위 등으로 변환하는 코드는 아래와 같다.
def byte_transform(bytes, to, bsize=1024):
... a = {'k' : 1, 'm': 2, 'g' : 3, 't' : 4, 'p' : 5, 'e' : 6 }
... r = float(bytes)
... for i in range(a[to]):
... r = r / bsize
... return round(r,2)
>>> byte_transform(1073741824, 'g')
1.0
>>> byte_transform(1073741824, 'm')
1024.0
>>> byte_transform(1073741824, 'k')
1048576.0
byte_transform의 함수의 첫번째 인자에는 변환 대상인 bytes를 주고, to에는 변환할 단위를 준다.
'k' : 킬로바이트
'm' : 메카바이트
'g' : 기가바이트
't' : 테라바이트
'p' : 페타바이트
'e' : 엑사바이트
bsize 같은 경우 기본적으로 1024인데, 1000단위로 계산하고 싶을때는 1000을 주면 된다.
>>> byte_transform(1073741824, 'g')
1.0
>>> byte_transform(1073741824, 'm')
1024.0
>>> byte_transform(1073741824, 'k')
1048576.0
위처럼 byte를 특정 단위로 변환할 수 있다.
반응형