Extended Dictionary
Project description
Open Kage's useful tools and class to public. (Long time used and upgraded) But, this is develope version. So, suddenly it will be big change when I got some more good idea. seperate to kDict from kmisc
Install
pip3 install kDict
Custom Dictionary Class
Convert Dictionary to Object style Dictionary
Contents
- Create tree type items
- Added New commands
- Put() : Put value at a item
- Get() : Get value of item
- Del() : Delete item
- Update() : Update value at item
- Print() : Print dictionary
- Diff() : Compare two dictionary
- Check() : Check put the value is same as the item(key)'s value
- List() : Return list of keys value
- Proper() : Show/Set/Update property at the item.
- Find() : Find data in the dictionary
- Load() : Load saved data from file
- Save() : dictionary save to file
- Sort() : Sort dictionary
- FirstKey(): Get first Key
- FirstKey(): Get first Key
- Added property at each key
- Initialize dictionary
from kmisc import kDict
root=kDict.kDict()
from kmisc import kDict
>>> test={
'a':123,
'b':{
'c':{'ddd'},
'e':{}
}
}
root=kDict.kDict(test)
- Add new data
>>> root.tree.apple.color='red'
or
>>> root.tree.apple.Put('color','red')
or
>>> root.tree.apple['color']='red'
- Get data
>>> root.tree.apple.color.Get()
or
>>> root.tree.apple.Get('color')
- Print dictionary
>>> root.Print()
>>> root.tree.Print()
-
Set property at Apple's color
- Set readonly
>>> root.tree.apple.color.Proper('readonly',True)
- Try change data
>>> root.tree.apple.Put('color','white')
item is readonly
>>> root.tree.Print()
{'color': {'._d': 'red', '._p': {'readonly': True}}}
- Unset readonly
>>> root.tree.apple.color.Proper('readonly',False)
- Try change data
>>> root.tree.apple.Put('color','white')
>>> root.tree.Print()
{'color': {'._d': 'red', '._p': {'readonly': True}}}
Sample Dictionary:
{'a': 123,
'b': {'c': set(['ddd']), 'e': {}, 'z': 123},
'tree': {'apple': {'color': {'._d': 'white', '._p': {'readonly': False}}},
'banana': {'banana2': {'._d': 'white', '._p': {}},
'banana3': {'._d': 'yellow', '._p': {}},
'color': {'._d': 'yellow', '._p': {'readonly': True}}},
'yellow': {'monkey': {'._d': 'white', '._p': {}}}}}
- Find readonly property item path
>>> root.Find('readonly',property=True)
['tree/banana/color']
- Find apple key path
>>> root.Find('apple',mode='key')
['tree/apple']
- Find white color data path
>>> root.Find('white')
['tree/apple/color', 'tree/yellow/monkey', 'tree/banana/banana2']
- Find 123 data path
>>> root.Find('white')
['a', 'b/z']
- Find white color data path in key and value
>>> root.Find('yellow',mode='all')
['tree/yellow', 'tree/banana/color', 'tree/banana/banana3']
- Save Data (always use root if not then save partial data)
>>> from kmisc import kDict
>>> kDict.kDict._dfile_='<dict file name>'
>>> root.Save()
- Load Data (always use root if not then load at key)
>>> from kmisc import kDict
>>> kDict.kDict._dfile_='<dict file name>'
>>> root.Load()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kDic-1.0.5.tar.gz
(5.9 kB
view details)
Built Distribution
kDic-1.0.5-py3-none-any.whl
(6.2 kB
view details)
File details
Details for the file kDic-1.0.5.tar.gz
.
File metadata
- Download URL: kDic-1.0.5.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.20.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10846383a9f56d6ae198f5177ca5d4dba385b0df993ba4ac1850f90fcfabc5d1 |
|
MD5 | baeeb302b9d84d47729d8997460bc624 |
|
BLAKE2b-256 | 344ede6dfe93050143d63747340c7ecd8303e8c86cb5e079c62d80d81998487e |
File details
Details for the file kDic-1.0.5-py3-none-any.whl
.
File metadata
- Download URL: kDic-1.0.5-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.20.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e63298ae7cfd31cd2ab4a83b37977bfd5c691caa647bc65aec08fe3a6e7f8524 |
|
MD5 | 3aea27d0e8c134d8f6a6c70e5e8bba48 |
|
BLAKE2b-256 | 1abe1918417cad2bf76aeeb4c7afd5fc87f62623667d109cbd6e2b906be70675 |