【发布时间】:2017-08-09 11:53:20
【问题描述】:
example_strings = ["10.43 KB", "11 GB", "343.1 MB"]
我想将所有这些字符串转换为字节。到目前为止,我想出了这个:
def parseSize(size):
if size.endswith(" B"):
size = int(size.rstrip(" B"))
elif size.endswith(" KB"):
size = float(size.rstrip(" KB")) * 1000
elif size.endswith(" MB"):
size = float(size.rstrip(" MB")) * 1000000
elif size.endswith(" GB"):
size = float(size.rstrip(" GB")) * 10000000000
elif size.endswith(" TB"):
size = float(size.rstrip(" TB")) * 10000000000000
return int(size)
但我不喜欢它,而且我认为它不起作用。我只能找到做相反事情的模块。
【问题讨论】:
-
当您说 bytes 时,它只是编码还是转换为二进制(01010 ..)?
-
显然他们希望字节数为 int。
-
为什么“你认为它不起作用”?
-
有一个值得评估的模块:github.com/xolox/python-humanfriendly
标签: python