Python项目字典工具
项目描述
安装
pip install dict-toolbox
包含来自Salt项目的各种字典工具。
差异
from dict_tools import differ
deep_diff
计算两个字典之间的差异。
recursive_diff
计算两个字典之间的递归差异。
修剪
from dict_tools import trim
trim_dict
接受一个字典,遍历其键,寻找大值并将它们替换为修剪的字符串。
更新
from dict_tools import trim
update
递归地将“upd”合并到目标中
merge_list
merge_recurse
merge_aggregate
merge_overwrite
merge
ensure_dict_key
确保in_dict包含在keys中定义的递归键序列。
set_dict_key_value
确保in_dict包含在keys中定义的递归键序列。还将通过keys遍历in_dict末尾的值设置为value。
update_dict_key_value
确保in_dict包含在keys中定义的递归键序列。还更新通过keys遍历in_dict末尾的dict,将其设置为value。
append_dict_key_value
确保in_dict包含在keys中定义的递归键序列。还将value追加到通过keys遍历in_dict末尾的列表中。
extend_dict_key_value
确保in_dict包含在keys中定义的递归键序列。还扩展通过keys遍历in_dict末尾的列表,将其设置为value。
XML
from dict_tools import xml
to_dict
将XML树转换为dict。传入的树必须是ElementTree对象。
YAMLEX
from dict_tools import yamlex
YAMLEX是一种允许sls文件等更直观的格式。
SLSMap
确保dict的str()和repr()对YAML友好。
SLSString
确保str()和repr()对YAML友好。
AggregatedMap
AggregatedSequence
Dumper
sls dumper。
merge_recursive
Merge obj_b into obj_a。
MySQL
from dict_tools import mysql
to_num
将字符串转换为数字。
to_dict
将MySQL样式输出转换为python字典。
DATA
from dict_tools import data
CaseInsensitiveDict
受requests的case-insensitive dict实现启发,但也可以与非字符串键一起使用。
ImmutableDict
不可变的映射,可以通过命名空间访问其键。
NamespaceDict
可以通过命名空间访问其字符串键的字典。
compare_dicts
比较各种函数的输入和输出结果,返回描述更改的字典。
is_dictlist
如果数据是单元素字典的列表(如许多SLS模式所示),则返回True。
object_to_dict
将任意对象转换为字典。
recursive_diff
对映射和/或可迭代对象执行递归diff,并以{‘old’: values, ‘new’: values}样式返回结果。比较dict和集合是无序的(显然),OrderedDict和列表是有序的(但只有当old和new都是相同类型时),所有其他映射类型是无序的,所有其他可迭代对象是有序的。
repack_dictlist
接受单元素字典的列表(如许多SLS模式所示)并将其打包成单个字典。
subdict_match
使用分隔符字符表示子字典级别,并允许匹配分隔符字符,从而匹配‘foo:bar:baz’将匹配data[‘foo’] == ‘bar:baz’和data[‘foo’][‘bar’] == ‘baz’。后者将优先于前者,因为首先尝试更深层嵌套的匹配。
traverse_dict
使用冒号分隔的(或使用‘delimiter’参数的其他分隔符)目标字符串遍历字典。目标‘foo:bar:baz’将返回data[‘foo’][‘bar’][‘baz’],如果此值存在,否则将返回默认参数中的字典。
traverse_dict_and_list
使用冒号分隔的(或使用‘delimiter’参数的其他分隔符)目标字符串遍历字典或列表。目标‘foo:bar:0’将返回data[‘foo’][‘bar’][0],如果此值存在,否则将返回默认参数中的字典。函数将自动确定目标类型。目标‘foo:bar:0’将返回data[‘foo’][‘bar’][0],如果data如{‘foo’:{‘bar’:[‘baz’]}},如果data如{‘foo’:{‘bar’:{‘0’:’baz’}}},则返回data[‘foo’][‘bar’][‘0’]。
Arg
from dict_tools import arg
yamlify_arg
yaml.safe_load the arg
Aggregation
from dict_tools import aggregation
当被指示时,可以检查数据集并聚合节点。
levelise
描述允许执行深度合并的级别。
mark
将obj转换为Aggregate实例
aggregate
Merge obj_b into obj_a。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
dict-toolbox-5.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ef2e6c0d48ea520086612dcfd2459b81e632f6cc705345cdfc61bd457d4cb036 |
|
MD5 | f666d4bb6a3a85f9628dbdf4b054bef9 |
|
BLAKE2b-256 | 1de126c59603918d2e25d68773b6dba3a5458f0131d1b746036d43ee45ba5efc |
dict_toolbox-5.0.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 714ddcfb60d98fbbb28549392d44d5edcd19268fa8cc42eb4828e3dd0519ea14 |
|
MD5 | fbd2332fdc62289346534617655a2b26 |
|
BLAKE2b-256 | c774bae045abf5cc64a08bcff317949fc070d6d98c6a475e3203a729a8d856e3 |