用于遍历和转换数据结构的实用程序
项目描述
用于遍历和转换数据结构的实用程序
受 .js 的 Hapi 框架(尤其是 Hoek 插件)的启发,我真的很怀念 python 中的一些实用程序,因此决定将它们移植过来。
到达(来源,模式,[选项])
将对象键链字符串转换为引用
选项- 可选设置
分隔符- 用于分割链路径的字符串,默认为 '.'
default - 如果路径或值不存在,则返回值,默认值为None
strict - 如果为true,将在缺少成员时抛出错误,默认为False
包含负数的模式将像数组上的负索引一样工作。
如果 pattern 为False-y,则返回对象本身。
from schleppy import reach
pattern = 'a.b.c'
source_obj = {'a' : {'b' : { 'c' : 1}}}
reach(source_obj, pattern) # returns 1
pattern = 'a.b.-1'
source_obj = {'a' : {'b' : [2,3,6]}}
reach(source_obj, pattern) # returns 6
变换(源,变换,[选项])
根据提供的obj和变换映射将现有对象转换为新对象。选项与到达选项相同。第一个参数也可以是对象数组。在这种情况下,该方法将返回一个转换后的对象数组。请注意,对于转换对象中的键以及值,都将遵循 options.separator 。
from schleppy import transform
source = {
'address': {
'one': '123 main street',
'two': 'PO Box 1234'
},
'title': 'Warehouse',
'state': 'CA'
}
result = transform(source, {
'person.address.lineOne': 'address.one',
'person.address.lineTwo': 'address.two',
'title': 'title',
'person.address.region': 'state'
})
# Results in
# {
# 'person': {
# 'address': {
# 'lineOne': '123 main street',
# 'lineTwo': 'PO Box 1234',
# 'region': 'CA'
# }
# },
# 'title': 'Warehouse'
# }
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
schleppy-1.1.22.tar.gz
(3.7 kB
查看哈希)
内置分布
schleppy-1.1.22-py3-none-any.whl
(5.3 kB
查看哈希)