跳转到主要内容

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 (30.6 kB 查看哈希值)

上传时间 源代码

构建分发

dict_toolbox-5.0.0-py3-none-any.whl (33.5 kB 查看哈希值)

上传时间 Python 3

由以下组织支持