k3num
Convert number to human readable format in a string.
k3num is a component of pykit3 project: a python3 toolkit set.
k3num convert numbers(or numbers in dict or list) to human readable
format in string::
>>> readable(103425)
'101.0K'
>>> readable({ 'total': 10240, 'progress': [1, 1024*2.1, 1024*3.2], })
{'total': '10K', 'progress': ['1', '2.10K', '3.20K']}
>>> parsenum('5.2K')
5324.8
>>> parsenum('10%')
0.1
Attributes:
value_to_unit(dict): map of int to unit, e.g.: 1024 -> "K", 1024² -> "M".
Usage::
>>> value_to_unit[1024**2]
'M'
>>> unit_to_value['K']
1024
unit_to_value(dict): reverse map of `value_to_unit`.
k3num.Hex provides hex integer with arithmatic support.
Different ways to create a 4-byte crc32 hex str::
>>> Hex(0x0102, 4)
'00000102'
>>> Hex(0x0102, 'crc32')
'00000102'
>>> Hex.crc32(0x0102)
'00000102'
>>> Hex('00000102', 'crc32')
'00000102'
>>> Hex.crc32('00000102')
'00000102'
Create with a tuple of prefix and a filling byte::
>>> Hex(('12', 1), 'crc32')
'12010101'
Arithmetic operations::
>>> Hex(0x0102, 'crc32') + 1
'00000103'
>>> Hex(0x0102, 'crc32') * 2
'00000204'
>>> Hex(0x0102, 'crc32') - 1000000
'00000000'
>>> Hex(0x0102, 'crc32') * 1000000000
'ffffffff'
Iterate over sha1 space with a specific step::
>>> Hex.sha1(0) + Hex.sha1(('10', 0))
'1000000000000000000000000000000000000000'
>>> Hex.sha1(0) + Hex.sha1(('10', 0)) * 2
'2000000000000000000000000000000000000000'
Install
pip install k3num
Synopsis
>>> readable(103425)
'101.0K'
>>> readable({ 'total': 10240, 'progress': [1, 1024*2.1, 1024*3.2], })
{'total': '10K', 'progress': ['1', '2.10K', '3.20K']}
>>> parsenum('5.2K')
5324.8
>>> parsenum('10%')
0.1
>>> value_to_unit[1024**2]
'M'
>>> unit_to_value['K']
1024
>>> Hex(0x0102, 4)
'00000102'
>>> Hex(0x0102, 'crc32')
'00000102'
>>> Hex.crc32(0x0102)
'00000102'
>>> Hex('00000102', 'crc32')
'00000102'
>>> Hex.crc32('00000102')
'00000102'
>>> Hex(('12', 1), 'crc32')
'12010101'
>>> Hex(0x0102, 'crc32') + 1
'00000103'
>>> Hex(0x0102, 'crc32') * 2
'00000204'
>>> Hex(0x0102, 'crc32') - 1000000
'00000000'
>>> Hex(0x0102, 'crc32') * 1000000000
'ffffffff'
>>> Hex.sha1(0) + Hex.sha1(('10', 0))
'1000000000000000000000000000000000000000'
>>> Hex.sha1(0) + Hex.sha1(('10', 0)) * 2
'2000000000000000000000000000000000000000'
Author
Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Copyright and License
The MIT License (MIT)
Copyright (c) 2015 Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Metadata
Release files for k3num 0.1.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| k3num-0.1.11.tar.gz | 9.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| k3num-0.1.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.0 kB
Release files / k3num-0.1.11.tar.gz
| Download URL | k3num-0.1.11.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0a13c5a4b87f646230b6eed18f47b85e4049c9ae7bda055521f8d9e07d02ff93
|
|
BLAKE2b-256 checksum How to use checksums |
4def4b5c6033c10e07b93fe0c4c7c6451d5e4ea3f92489f983b9889eb318bf6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / k3num-0.1.11-py3-none-any.whl
| Download URL | k3num-0.1.11-py3-none-any.whl |
|---|---|
| Size | 7.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7b3ead52445dbcc68deb279036b66edc92ca879a9b44e58079606c1bd05d1600
|
|
BLAKE2b-256 checksum How to use checksums |
d9184a1546f7c7e3fcf1c0141ae5aeefe6b7ba549f617e035a3bae3e8fcf1186
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|