例如1232424 b在BT会显示1 M,1232424123 b会显示1 G
def fmtsize(n): |
02 | s = str (n) |
03 | size = s[ - 3 :] |
04 | while len (s) > 3 : |
05 | s = s[: - 3 ] |
06 | size = '%s,%s' % (s[ - 3 :], size) |
07 | if n > 999 : |
08 | unit = [ 'B' , 'K' , 'M' , 'G' , 'T' , 'P' , 'E' , 'Z' , 'Y' ] |
09 | i = 1 |
10 | while i + 1 < len (unit) and (n >> 10 ) > = 999 : |
11 | i + = 1 |
12 | n >> = 10 |
13 | n / = ( 1 << 10 ) |
14 | size = '%s (%.0f %s)' % (size, n, unit[i]) |
15 | return size |