首页 > 其他分享 >yaml文件的格式解释

yaml文件的格式解释

时间:2023-08-23 23:13:33浏览次数:32  
标签:文件 存储 YAML month yaml 数组 格式 字典 属性

  1. 什么是YAML
    YAML是一种存储数据的文件格式。类似jsonxml
    Ansible playbooks或者配置文件,以称为YAML的特定格式编写。如果您使用过其他数据结构格式(如XMLJSON),则应该能够轻松地使用它。

    上图中就是以3种格式表示的一个server的定义

  2. 简单的数据格式

    1. 键值对: 键和值由冒号分隔, 冒号后面必须有空格。
    2. 数组: 数组名key后面加冒号,然后换行,每个数组元素前面加-,表示这是数组中的一个元素
    3. 字典(Map):字典是在一个项目下组合在一起的一组属性。字典名字后面加冒号;每个单一项目的属性前有相等数目的空格,每一项都对齐在一起。单一项目是key: value的形式。

      YAML中的空格很关键,例如下面的例子,想将FatCarbs设置为Calories的值,就会报错。因为Calories已经有一个值105了。

      数组(lists)可以包含字典。例如下面的例子,有个数组名字为Fruits,包含两个元素BananaGrape,这两个元素分别又是一个字典,字典里面包含了详细的信息。

  3. 什么时候用数组?什么时候用字典?
    以汽车为例子。汽车是一个单一的对象, 它具有颜色、型号、 变速箱和价格等属性。为了存储单个对象的不同信息或属性,我们使用字典。

    在这个简单的字典中,我以键值对定义了car的属性。可能不像这样简单, 例如, 如果我们需要将模型进一步拆分为model namemake year, 则可以将其表示为另一个字典中的字典。

    在本例中, model的单个值现在被一个小字典替换,该字典包含两个属性:nameyear

    假设我们要存储六辆汽车的名称。名字是由汽车的颜色和型号来命名的。为了存储它, 我们将使用一个数组,因为它是同一类型对象的多个项。因为我们只存储名称, 所以我们有一个简单的字符串列表。如果我们想存储每辆车的所有信息。

    我们之前列出的所有信息,如颜色、 型号、 变速器和价格, 该怎么办?我们将把数组从字符串列表修改为字典列表。因此, 我们展开数组中的每一项,并将名称替换为前面构建的字典。这样, 我们就可以使用字典列表在单个YAML文件中表示多辆汽车的所有信息。

    =

  4. 字典是无序集合, 而列表是有序集合
    您在这里看到的两个字典具有相同的banana属性。但是, 您可以看到, 脂肪和碳水化合物属性的顺序并不匹配。在第一本词典中, 脂肪的定义在碳水化合物之前,在第二本词典中, 碳水化合物排在脂肪之后, 但这并不重要。属性可以按任意顺序定义,但只要每个属性的值匹配,两个字典将仍然相同。

    这对于数组是不同的。数组是有序集合,因此项的顺序很重要。所示的两个数组并不相同, 因为applebanana位于不同的位置。这是在使用数据结构时要记住的一点。

    还请记住, 任何以#开头的行都将被自动忽略,并被视为注释。

    YAML例子: payslips是数组,包含三个对象,每个对象包含monthamount两个键值对。

    employee:
      name: john
      gender: male
      age: 24
      address:
        city: 'edison'
        state: 'new jersey'
        country: 'united states'
      payslips:
        - month: june
          amount: 1400
        - month: july
          amount: 2400
        - month: august
          amount: 3400

 

转自:https://blog.csdn.net/u011069294/article/details/130889941  

请参考原作者:

更多关于Ansible的文章,请参考我的Ansible专栏:https://blog.csdn.net/u011069294/category_12331290.html

标签:文件,存储,YAML,month,yaml,数组,格式,字典,属性
From: https://www.cnblogs.com/yeziwinone/p/17652997.html

相关文章

  • 与.html相关的文件
    与.html相关的文件有HTML文件(.html或.htm)、CSS文件(.css)、JavaScript文件(.js)、图像文件(.jpg、.png、.gif等)、样式表文件(.scss、.less)、字体文件(.ttf、.otf、.woff等)、音频文件(.mp3、.wav)、视频文件(.mp4、.avi)、网页图标文件(.ico)等HTML文件HTML文件是一种文本文件,使用HTML(超文本标......
  • python - 文件md5校验
    通过md5校验文件,我们可以判断文件内容是否改变,用python实现代码如下importhashlib#1.txt为空文本withopen('1.txt','rb')asf:data=f.read()md5Old=hashlib.md5(data).hexdigest()print(md5Old)#d41d8cd98f00b204e9800998ecf8427e#1.txt内容为12......
  • 微信小程序上传文件操作示范
    社会实践心得体会格式要求提交的心得体会应为word文档,且图文并茂,全文段前、段后0,1.5倍行距。题目:自拟,方正小标宋简体,小二号,加粗,居中。个人信息:题目下方,宋体,小四号,加粗,居中,包含学院、班级、学号、姓名。正文:宋体,小四号。字数:1500+若正文中包含标题,一级标题“一”,二......
  • Python结合文件名将文件复制到匹配的多个文件夹内
       本文介绍基于Python语言,针对一个文件夹下的大量栅格遥感影像文件,基于其各自的文件名,分别创建指定名称的新文件夹,并将对应的栅格遥感影像文件复制到不同的新文件夹下的方法。  首先,我们来看一下本文需要实现的需求。现有一个文件夹,其中有大量.tif格式的栅格遥感影像文件,以......
  • 2023-08-23 批量清除数据集格式
    编程时需要将数据库中的数据集清除全部变量的format和informat,一个一个的处理过于麻烦了,所以今天找了些方法来实现批量处理。......
  • python3_获得文件大小
    1、os.path.getsize(file_path),返回文件字节大小,int类型。importosfile_size=os.path.getsize('/home/pi/jodie/log/jodie-test.log')print(file_size,type(file_size))#947642<class'int'>#显示文件大小为:925kB2、os.stat(file_path).st_size,返回文件字......
  • 一个意外错误使你无法创建该文件。如果你继续收到此错误,可以使用错误代码来搜索有关此
     解决方法:正确方法应该是以管理员权限打开cmd,然后执行 icaclsc:\/setintegritylevelM ......
  • IntelliJ IDEA maven配置,设置pom.xml的配置文件
    IntelliJIDEA项目,选择 文件 设置,弹窗构建、执行、部署构建工具Maven就可以maven配置好以后,在pom.xml的配置文件中就可以设置对应的jar包了,这样构建的时候自动需要的jar,在项目中导入即  需要的jar包设置在pom.xml中设置即可,仓库:https://mvnrepository.com/,aliyun仓......
  • 六种python读取语音文件的方法
    该文主要记录一下常用的python读取wav文件的常用三方库以及优缺点对比,以一段采样率16k,4.99秒单声道的测试语音为例子,音频文件读取后主要有以下几种形式#格式一:列表[-0.00015259-0.00021362-0.00021362-0.00027466-0.00015259]float32#格式二:列表[-5,-7,-7,-9,-5]int......
  • H5支付 商家参数格式有误 请联系商家解决
    我们公司是做教育培训的,APP的支付使用了H5支付,2023-07月份开始有大量用户反馈:OPPP、一加手机会出现【商家参数格式有误】我这边通过抓包工具 Fiddler发现来源参数没有丢失,抓包下本来异常手机居然也可以正常支付。刷新当前错误页面也可以正常调起支付,无痕模式下也可以正常支付......