def convert_size_to_bytes(size):
multipliers = {
'kb': 1024,
'mb': 1024*1024,
'gb': 1024*1024*1024,
'tb': 1024*1024*1024*1024
}
for suffix in multipliers:
if size.lower().endswith(suffix):
return int(size[0:-len(suffix)]) * multipliers[suffix]
else:
if size.lower().endswith('b'):
return int(size[0:-1])
try:
return int(size)
except ValueError: # for example "1024x"
print('Malformed input!')
exit()
print(convert_size_to_bytes("32MB"))
print(convert_size_to_bytes("100kB"))
print(convert_size_to_bytes("123B"))
print(convert_size_to_bytes("123"))
print(convert_size_to_bytes("123x"))
ZGVmIGNvbnZlcnRfc2l6ZV90b19ieXRlcyhzaXplKToKCW11bHRpcGxpZXJzID0gewoJCSdrYic6IDEwMjQsCgkJJ21iJzogMTAyNCoxMDI0LAoJCSdnYic6IDEwMjQqMTAyNCoxMDI0LAoJCSd0Yic6IDEwMjQqMTAyNCoxMDI0KjEwMjQKCX0KCQoJZm9yIHN1ZmZpeCBpbiBtdWx0aXBsaWVyczoKCQlpZiBzaXplLmxvd2VyKCkuZW5kc3dpdGgoc3VmZml4KToKCQkJcmV0dXJuIGludChzaXplWzA6LWxlbihzdWZmaXgpXSkgKiBtdWx0aXBsaWVyc1tzdWZmaXhdCgllbHNlOgoJCWlmIHNpemUubG93ZXIoKS5lbmRzd2l0aCgnYicpOgoJCQlyZXR1cm4gaW50KHNpemVbMDotMV0pCgkKCXRyeToKCQlyZXR1cm4gaW50KHNpemUpCglleGNlcHQgVmFsdWVFcnJvcjogIyBmb3IgZXhhbXBsZSAiMTAyNHgiCgkJcHJpbnQoJ01hbGZvcm1lZCBpbnB1dCEnKQoJCWV4aXQoKQoKcHJpbnQoY29udmVydF9zaXplX3RvX2J5dGVzKCIzMk1CIikpCnByaW50KGNvbnZlcnRfc2l6ZV90b19ieXRlcygiMTAwa0IiKSkKcHJpbnQoY29udmVydF9zaXplX3RvX2J5dGVzKCIxMjNCIikpCnByaW50KGNvbnZlcnRfc2l6ZV90b19ieXRlcygiMTIzIikpCnByaW50KGNvbnZlcnRfc2l6ZV90b19ieXRlcygiMTIzeCIpKQ==