我可以在不重新键入的情况下重用YAML中的键吗?如果可以通过锚点重复该键,则重命名该键将非常简单。
splitTestVariants:
lowCost: 0
mediumCost: 1
highCost: 2
pricePlans:
# reuse lowCost key instead this comment without retyping it
basic: 100
premium: 200
vip: 300
# reuse mediumCost key instead this comment without retyping it
basic: 200
premium: 300
vip: 400
# reuse highCost instead this comment without retyping it
basic: 300
premium: 400
vip: 500
当然,使用锚点和别名来减少输入是可能的:
import sys
import ruamel.yaml
yaml_str = """\
splitTestVariants:
&l lowCost: 0
&m mediumCost: 1
&h highCost: 2
pricePlans:
*l :
basic: 100
premium: 200
vip: 300
*m :
basic: 200
premium: 300
vip: 400
*h :
basic: 300
premium: 400
vip: 500
"""
yaml = ruamel.yaml.YAML()
yaml.default_flow_style = False
data = yaml.load(yaml_str)
print(list(data['pricePlans'].keys()))
这给出了:
['lowCost', 'mediumCost', 'highCost']
以上是YAML的一个特色,而不是< code>ruamel.yaml(我是其作者)的特色。
请注意别名(*X
)和映射值指示符(:
之间的空格。并非所有的YAML解析器(包括<code>libyaml
我有以下损坏的docker compose文件 此操作失败,并显示以下错误 问题1:如何在中合并数组?我尝试使用的语法是用于合并字典的语法 问题2:如果没有办法合并数组,有没有变通方法? 用例:我有多个服务,其中一些映射一些卷,另一些映射其他卷,另一些映射所有卷。我不想重复我自己。 谢谢你!
本文向大家介绍yaml 基本的YAML类型,包括了yaml 基本的YAML类型的使用技巧和注意事项,需要的朋友参考一下 示例
之前提到过,视图的center属性和图层的position属性都指定了anchorPoint相对于父图层的位置。图层的anchorPoint通过position来控制它的frame的位置,你可以认为anchorPoint是用来移动图层的把柄。 默认来说,anchorPoint位于图层的中点,所以图层的将会以这个点为中心放置。anchorPoint属性并没有被UIView接口暴露出来
在读取yaml时,如果遗漏了一个键,如何验证?用于读取yaml的API是snakeYaml
我有一个带有属性映射的YAML配置文件: 引导将解析为: 下面的实际示例。 : 对结果对象调用:
这