yaml数组解析_yaml格式详解

2023-11-01

YAML标记语言简介¶

默认的SLS文件的renderer是YAML renderer。YAML是一个有很多强大特性的标记性语言。Salt使用了一个YAML的小型子集,映射非常常用的数据结构,像列表和字典。YAML renderer的工作是将YAML数据格式的结构编译成为Python数据结构给Salt使用。

尽管YAML语法可能第一眼看上去很简洁但令人畏惧,但是只要记住三个非常简单的规则就可以使用YAML语法写SLS文件了。

1. 规则一: 缩进

YAML使用一个固定的缩进风格表示数据层结构关系。Salt需要每个缩进级别由两个空格组成。不要使用tabs。

2. 规则二: 冒号

Python的字典当然理所当然是简单的键值对。其他语言的用户应该知道这个数据类型叫哈希表或者关联数组。

字典的keys在YAML中的表现形式是一个以冒号结尾的字符串。Values的表现形式冒号下面的每一行,用一个空格隔开:

my_key: my_value

在Python中,上面的将映射为:

{'my_key': 'my_value'}

另一种选择,一个value可以通过缩进与key联接。

my_key:

my_value

注解

上面的语法是有效的YAML,但是在SLS文件罕见,因为通常情况下,一个key的value不是单一的,而是一个列表 的values。

在Python中,上面的将映射为:

{'my_key': 'my_value'}

字典可以被嵌套:

first_level_dict_key:

second_level_dict_key: value_in_second_level_dict

在Python中:

{

'first_level_dict_key': {

'second_level_dict_key': 'value_in_second_level_dict'

}}

3. 规则三: 短横杠

想要表示列表项,使用一个短横杠加一个空格。多个项使用同样的缩进级别作为同一列表的一部分。

- list_value_one- list_value_two- list_value_three

列表可以可以作为一个键值对的value。这个在Salt很常见:

my_dictionary:

-list_value_one

-list_value_two

-list_value_three

在Python中,上面的将映射为:

{'my_dictionary': ['list_value_one', 'list_value_two', 'list_value_three']}

4. 学习更多

一个简单的学习更多关于YAML如何渲染为Python数据结构的方式是使用一个在线的YAML解析器去看看Python的输出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

yaml数组解析_yaml格式详解 的相关文章

  • USB实现隔离的四种方法分析-方法四最好: 数字隔离器 USB隔离芯片ADuM3160、ADuM4160

    USB实现隔离的四种方法分析 目前在办公室和家庭中使用的标准信息处理设备 个人电脑 PC 使用通用串行总线 U S B 与大多数外设进行通讯 标准化 低成本 及软件和开发工具的支持已使个人电脑成为医疗和工业应用很具吸引力的主处理器平台 但这
  • 如何实现阅读APP源码性能优化,不容忽视的四大要点

    阅读APP源码性能优化是把双刃剑 有好的一面也有坏的一面 好的一面就是能提升网站性能 坏的一面就是配置麻烦 或者要遵守的规则太多 并且阅读APP源码某些性能优化规则并不适用所有场景 需要谨慎使用 1 减少 HTTP 请求 一个完整的 HTT
  • Linux下如何使用命令安装g++

    g 是 GNU 的 c 编译器 它可以用来编译 c 程序 那么如何用命令安装 g 呢 注意 以下操作均在centos 7 3 1611 版本进行 那么开始进行操作 首先切换到 root 用户 然后输入yum install gcc c 回车
  • Java 窗口透明化(无边框)

    这几天我在写一个记事本程序 为了方便记事本记事 我准备将记事本界面透明化 于是上网查了一下资料 然后将透明化界面做了出来 可是在做的过程中我还是遇到了一些小小的问题 所以就把它记录了下来 问题1 奇怪的错误 访问限制 Access rest
  • 考研数学自整理,弥补知识漏洞(强化、冲刺)

    本次分享的是博主在考研时整理的最后一份数学知识 也是上考场前对知识最后的强化 因为博主是二战上岸 第一年考数三 第二年考数一 虽然这份笔记总结的内容不多 但这里浓缩了2020前历年数三 数的一真题与模拟题易错的考点和难点 链接 https
  • Java 正则表达式匹配规则

    表示捕获分组 会把每个分组里的匹配的值保存起来 使用 n n是一个数字 表示第n个捕获组的内容 表示非捕获分组 和捕获分组唯一的区别在于 非捕获分组匹配的值不会保存起来 0次或者多次 匹配前面的子表式零次或多次 1次或者多次 匹配前面的子表
  • 给一非空的单词列表,返回前 k 个出现次数最多的单词。旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。 现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。

    Arrays sort是针对数组排顺序 也可以通过第二个参数指定比较规则 Collection sort是针对集合类排序 给一非空的单词列表 返回前 k 个出现次数最多的单词 旧键盘上坏了几个键 于是在敲一段文字的时候 对应的字符就不会出现
  • [蓝帽杯 2022 初赛]之Misc篇(NSSCTF)刷题记录(复现)

    NSSCTF Misc篇 蓝帽杯 2022 初赛 domainhacker 蓝帽杯 2022 初赛 domainhacker1 蓝帽杯 2022 初赛 domainhacker2 计算机取证 蓝帽杯 2022 初赛 计算机取证 1 蓝帽杯
  • Centos卸载gcc

    1 查看安装的gcc版本 y localhost Desktop rpm q gcc gcc 4 4 7 23 el6 x86 64 2 执行卸载命令 rpm e y localhost Desktop rpm e gcc 4 4 7 23
  • Algorithm Accumulation

    目标检测 DPM HOG SIFT 最优匹配 DTW HMM 优化入门 爬山算法 退火算法 遗传算法 多目标优化 ILP 复杂度 NP完全问题 这篇博客就用来积累学过的一些比较好的算法 现开始觉得算法真是一个宝啊 目标检测 DPM 参考博客
  • Oracle中5中分区介绍

    一 范围分区 就是根据数据库表中某一字段的值的范围来划分分区 例如 Sql代码 create table graderecord sno varchar2 10 sname varchar2 20 dormitory varchar2 3
  • Srpingboot注解:@ConditionalOnProperty的用法

    在之前我就一直有一个想法 就是有的bean我不想注入 比如说有的时候用的是A的bean 可能换了一个不同的系统可能要用B的bean 我可不可以自己去配置什么时候注入A什么时候注入B 而不是我都注入 用到那个用哪个 实际 Conditiona
  • Tomcat

    一 Web资源的分类 Web资源分为两类 静态资源和动态资源 静态资源 html css js mp4视频 jpg图片 txt等 动态资源 jsp页面 servlet程序等 二 常用的web服务器 Web服务器 也可以叫javaweb容器
  • 驱动开发 day4 9/13

    head h ifndef HEAD H define HEAD H typedef struct unsigned int MODER unsigned int OTYPER unsigned int OSPEEDR unsigned i
  • JAVA中类的public class与class的区别详解

    1 类的访问权限 为了控制某个类的访问权限 修饰词必须出现在关键字class之前 例如 public class Student 在编写类的时候可以使用两种方式定义类 A public class定义类 B class定义类 2 publi
  • 2021-11-3 内核态和核心态

    1 什么是内核态 当一个进程进行系统调用而陷入内核代码中时 就称程序陷入了内核态 否则就是用户态 用户程序运行在用户态而操作系统运行在内核态 用户态只能执行非特权指令 而内核态可以执行全部指令 内核态可以执行的指令比如 执行I O 设置时钟
  • 拓数派荣获 “2023 年杭州市企业高新技术研究开发中心” 认定

    近日 拓数派上榜由杭州市科学技术局公布的 2023 年杭州市企业高新技术研究开发中心名单 通过专业的技术研发 成果转化和高新技术产业化成绩 获得 杭州市拓数派数据计算企业高新技术研究开发中心 认定 图为 杭州市拓数派数据计算企业高新技术研究

随机推荐

  • Lattice库联合ModelSim仿真FIFO

    Lattice联合ModelSim仿真FIFO 前言 一 添加IP 二 库文件添加 一 方式一 添加器件库到ModelSim 二 方法二 直接添加器件库到Libray 和tb v在同一个目录下仿真 三 仿真 一 仿真文件 二 仿真结果 前言
  • 计算机进制存在的意义

    发布本文的实际想法 是否想过为什么要有进制的存在 如二进制 十进制等 存在即合理 通过思考 得出以下结论 希望能在计算机基础方面给你带来一定的帮助 进制的意义 二进制是计算机看得懂的语言 我们在电脑上所写的一切东西 都需要转成二进制让电脑执
  • ctfshow web4

    提示日志注入 文件包含 还有一个get方式的参数url 有nginx 那就试试它的默认日志目录 日志默认路径 1 apache Linux 日志默认路径 etc httpd logs access log var log httpd acc
  • Window下编译PJSIP,不编译Media模块

    Windows系统下使用VS2017进行编译PJSIP 下载地址 PJSIP的地址 https github com pjsip pjproject 在线clone太慢的话 可以直接在这里下载比clone会快很多 https github
  • 用数组实现邻接表

    用数组实现邻接表 转载自 http blog csdn net wang2534499 article details 47750321 坐在马桶上看算法 算法8 巧妙的邻接表 数组实现 之前我们介绍过图的邻接矩阵存储法 它的空间和时间复杂
  • Android APP专项测试之ADB命令

    Android环境准备 Android APP专项测试需要使用adb命令 需要安装Android SDK参考 验证adb 数据线连接Android设备 或虚拟机 或使用无线连接参考 Android设备进入开发者模式 打开USB调试 USB安
  • 线性DP相关例题

    目录 1 最长公共子序列 2 最长递增子序列 蓝桥骑士 3 字符串转换 4 装箱问题 0 1背包简化版 5 过河卒 1 最长公共子序列 题目描述 给定一个长度为 N 数组 a 和一个长度为 M 的数组 b 请你求出它们的最长公共子序列长度为
  • Django学习小记[5] —— View Request/Response

    在Django中 view是指一个方法 这个方法接收一个request 然后返回一个response 当客户端发送一个请求的时候 Django会创建一个HttpRequest对象 这个对象包含本次请求的所有相关信息 比如请求的路径 请求的参
  • windows环境下,nginx 配置静态网站页面

    server listen 8092 nginx 监听端口 server name 192 168 1 73 localhost 服务器地址 location root E nginx 1 15 0 cx 静态html文件存放目录地址 in
  • c++ 将int、float、double类型转换成string类型

    使用to string 包含在 include 可参考https blog csdn net lzuacm article details 52704931 t t t 0 3578803457785398 std string to st
  • restful实现文件下载

    private static final byte UTF8 BOM byte 0xEF byte 0xBB byte 0xBF private static final String FAV ICO fav ico GET Path ge
  • mysql安装教程(图文详细版)

    1 先进入mysql官网选择下载对应版本 https dev mysql com downloads mysql 5 7 html 这里提供的链接是5 7 42版本 选择自己机子对应的位数下载解压包 我们这里以解压包的形式演示安装 down
  • 小米开发版安装magisk_小米开发版安装magisk(面具),不用第三方rec就可以安装...

    帖子搬砖至大神 浅陌初心原创 策策大哥修改 小米开发版安装magisk教程 不用第三方rec就可以安装 手机必须有root 没有直接左上角 1 这个教程浅陌初心i大神原创的 我稍微修改了下 大家有喜欢的可以试一试 2 首先 解锁后刷入内测版
  • jquery控制商品数量加减改变价格,只能输入数字

    做商城时候 购物车中的商品加一个和减一个用jquery实现的代码 并且保证文本框text只能输入纯数字
  • Matlab替换A2L文件中的地址生成完整A2L文件的方法小结

    引言 基于模型的开发 方式在汽车电子嵌入式软件行业中发展迅速 关于其 多好处不去瞎说了 自然有mathwork的工作人员去宣传 基于模型的开发在模型生成代码的过程中 如果软件工程师在matlab开发环境中定义了变量的相关属性 应用层软件中定
  • Python pikepdf 打包exe 报错 ModuleNotFoundError: No module named ‘pikepdf._cpphelpers’

    微信公众号 工程师看海 最近使用pyinstaller 将pathon的 py文件打包到windows平台 生成可执行文件时遇到了一个问题 打包后的exe可执行文件在运行过程中报 ModuleNotFoundError No module
  • vrep初探

    图为tx90导入vrep的示意图 标记1可以查看更改属性 标记2是移动旋转视图 当然鼠标快捷键也可以 标记3标记4是移动和旋转 可以在添加关节时使用 用来确定关节的位置 标记5是导入的stl文件 双击可以重命名 标记6为开始仿真 标记7的乌
  • idea git项目错乱显示多个git项目记录

    在项目的 idea文件夹下找到vcs xml 删除无用的mapping 例如上图 删除 的目录即可
  • Red Hat 镜像下载

    注 本博文为转载博文 支持原创 RedHat Enterprise Server 7 5 for x86 64 rhel server 7 5 x86 64 dvd part1 rar 密码 uyyb rhel server 7 5 x86
  • yaml数组解析_yaml格式详解

    YAML标记语言简介 默认的SLS文件的renderer是YAML renderer YAML是一个有很多强大特性的标记性语言 Salt使用了一个YAML的小型子集 映射非常常用的数据结构 像列表和字典 YAML renderer的工作是将