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])
else:
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("123"))
print(convert_size_to_bytes("123b"))
ZGVmIGNvbnZlcnRfc2l6ZV90b19ieXRlcyhzaXplKToKICAgIG11bHRpcGxpZXJzID0gewogICAgICAgICdrYic6IDEwMjQsCiAgICAgICAgJ21iJzogMTAyNCoxMDI0LAogICAgICAgICdnYic6IDEwMjQqMTAyNCoxMDI0LAogICAgICAgICd0Yic6IDEwMjQqMTAyNCoxMDI0KjEwMjQKICAgIH0KCiAgICBmb3Igc3VmZml4IGluIG11bHRpcGxpZXJzOgogICAgICAgIGlmIHNpemUubG93ZXIoKS5lbmRzd2l0aChzdWZmaXgpOgogICAgICAgICAgICByZXR1cm4gaW50KHNpemVbMDotbGVuKHN1ZmZpeCldKSAqIG11bHRpcGxpZXJzW3N1ZmZpeF0KICAgIGVsc2U6CiAgICAgICAgaWYgc2l6ZS5sb3dlcigpLmVuZHN3aXRoKCdiJyk6CiAgICAgICAgICAgIHJldHVybiBpbnQoc2l6ZVswOi0xXSkKICAgICAgICBlbHNlOgogICAgICAgIAl0cnk6CiAgICAgICAgCQlyZXR1cm4gaW50KHNpemUpCgkJCWV4Y2VwdCBWYWx1ZUVycm9yOiAjIGZvciBleGFtcGxlICIxMDI0eCIKCQkJCXByaW50KCdNYWxmb3JtZWQgaW5wdXQhKQoJCQkJZXhpdCgpCgpwcmludChjb252ZXJ0X3NpemVfdG9fYnl0ZXMoIjMyTUIiKSkKcHJpbnQoY29udmVydF9zaXplX3RvX2J5dGVzKCIxMDBrQiIpKQpwcmludChjb252ZXJ0X3NpemVfdG9fYnl0ZXMoIjEyMyIpKQpwcmludChjb252ZXJ0X3NpemVfdG9fYnl0ZXMoIjEyM2IiKSk=