Convert byte counts to human-readable strings and back, with formatting options
pip install philiprehberger-humanize-bytesConvert byte counts to human-readable strings and back, with formatting options.
pip install philiprehberger-humanize-bytes
from philiprehberger_humanize_bytes import format_bytes, parse_bytes
format_bytes(1536) # "1.5 KiB"
format_bytes(1048576) # "1 MiB"
format_bytes(0) # "0 B"
format_bytes(-1536) # "-1.5 KiB"
format_bytes(1500, si=True) # "1.5 KB"
format_bytes(1000000, si=True) # "1 MB"
format_bytes(2500000000, si=True) # "2.5 GB"
format_bytes(123456789, precision=2) # "117.74 MiB"
format_bytes(123456789, precision=0) # "118 MiB"
parse_bytes("1.5 GB") # 1500000000
parse_bytes("1.5 GiB") # 1610612736
parse_bytes("500 KB") # 500000
parse_bytes("10M") # 10000000
parse_bytes("1024") # 1024
| Function | Description |
|---|---|
format_bytes(n, *, si=False, precision=1) | Format byte count to human-readable string. Binary (KiB/MiB/GiB) by default, SI (KB/MB/GB) with si=True. |
parse_bytes(s) | Parse a human-readable byte string to an integer. Supports binary, SI, and shorthand units. Case-insensitive. |
pip install -e .
python -m pytest tests/ -v
If you find this project useful: