HierarchicalDict¶
Provides tools to handle / print hierarchical parameter dictionaries.
Example
>>> import ClearMap.Utils.HierarchicalDict as hdict
>>> d = dict(x = 10, y = 100, z = dict(a = 10, b = 20));
>>> print(hdict.get(d, 'z_a'))
10
>>> hdict.set(d, 'z_c_q', 42)
>>> hdict.pprint(d)
x: 10
y: 100
z: dict
a: 10
b: 20
c: dict
q: 42
-
get
(parameter, key, default=None)[source]¶ Gets a parameter from a dict, returns default value if not defined
Arguments
- parameterdict
Parameter dictionary.
- keyobject
Parameter key
- defaultobject
Default value if parameter not defined.
Returns
- valueobject
Parameter value for key.
-
join
(*args)[source]¶ Joins dictionaries in a consitent way
Arguments
- argsdicts
The parameter dictonaries to join.
Returns
- joindict
The joined dictionary.
-
pprint
(parameter=None, head=None, **args)[source]¶ Prints parameter settings in a formatted way.
Arguments
- parameterdict
Parameter dictionary.
- headstr or None
prefix of each line
- args
Additional parameter values as key=value arguments.
-
prepend
(parameter, key)[source]¶ Adds a hierarchical key infront of all the parameter keys in a dictionary.
Arguments
- parameterdict
Parameter dictonary.
- keystr
Key to add infronat of the dictionary keys.
Returns
- prependdict
The dictionary with modified keys.
-
set
(parameter, key=None, value=None, **kwargs)[source]¶ Sets a parameter in a hierarchical dicitionary.
Arguments
- parameterdict
Parameter dictionary.
- keyobject
Key in dictionary.
- valueobject
Value to set.
- kwargs
Key : value pairs.
Returns
- parameterdict
Parameter dictionary.
-
write
(parameter=None, head=None, **kwargs)[source]¶ Writes parameter settings in a formatted way.
Arguments
- parameterdict
Parameter dictionary.
- headstr or None
Optional prefix of each line.
- kwargs
Additional parameter values as key=value arguments.
Returns
- stringstr
A formated string with parameter info.