Source code for simpletable.dictdataframe.helpers

[docs] def pretty_size_print(num_bytes: int) -> str: """ Output number of bytes in a human readable format Parameters ---------- num_bytes: int number of bytes to convert returns ------- output: str string representation of the size with appropriate unit scale """ if num_bytes is None: return KiB = 1024 MiB = KiB * KiB GiB = KiB * MiB TiB = KiB * GiB PiB = KiB * TiB EiB = KiB * PiB ZiB = KiB * EiB YiB = KiB * ZiB if num_bytes > YiB: output = "%.3g YB" % (num_bytes / YiB) elif num_bytes > ZiB: output = "%.3g ZB" % (num_bytes / ZiB) elif num_bytes > EiB: output = "%.3g EB" % (num_bytes / EiB) elif num_bytes > PiB: output = "%.3g PB" % (num_bytes / PiB) elif num_bytes > TiB: output = "%.3g TB" % (num_bytes / TiB) elif num_bytes > GiB: output = "%.3g GB" % (num_bytes / GiB) elif num_bytes > MiB: output = "%.3g MB" % (num_bytes / MiB) elif num_bytes > KiB: output = "%.3g KB" % (num_bytes / KiB) else: output = "%.3g Bytes" % (num_bytes) return output