当前位置: 首页 > 工具软件 > yaml-readme > 使用案例 >

yaml笔记

云凌
2023-12-01

yaml

B站up主视频总结
同json文件一样常常用作资源清单,或者作为配置化文件,有自己的语言风格。

语法格式

  • 使用缩进来表示层级关系,并且不能使用Tab进行缩进,只能使用空格进行缩进,一般使用两个空格进行缩进。
  • 字符后面需要缩进一个空格,常用的字符有冒号:和逗号, 。
  • 使用#进行单行注释,yaml中不支持使用多行注释。
  • 使用…表示文件结尾
  • 一个文件.yaml 中其实可以写多个文件,不同文件中使用—隔开
  • 在同一级中不能使用相同的key

数据类型

​ 这里的数据类型主要值value类型,key都是字符串

基本数据类型

  1. 字符串 直接就是一串字符,不需要使用单引号或者双引号 。

    对于长字符串可以多行写,但是每次换行默认在编译后的字符串中添加了空格

  2. int 类型 编译器会自动将一个整数数字判断为int类型, 如果想表示为字符串可以使用**!!str** 指定为字符串

  3. float 类型 编译器会自动将一个带小数数字判断为float类型

  4. bool 类型 true / false

  5. 时间 yyyy-mm-dd hh:MM:ss

    username: nick
    string: 
      aaaab
      caaas
    age: 12
    score: 93.5
    male: true
    time: 1994-3-21 20:12:30
    ##{'username': 'nick', 'string': 'aaaab caaas', 'age': 12, 'score': 93.5, 'male': True, 'time': datetime.datetime(1994, 3, 21, 20, 12, 30)}
    

数组

格式:(注意空格表示缩进)

arrayName:

- item1

- item2

country:
  - china
  - japanese
classmates1:
  - name: li
    age: 12
  - name: wang
    age: 13
classmate2:
  -
    name: chen
    age: 13
  -
    name: cui
    age: 12
  #{'country': ['china', 'japanese'], 
  #'classmates1': [{'name': 'li', 'age': 12}, {'name': 'wang', 'age': 13}], 
  #'classmate2': [{'name': 'chen', 'age': 13}, {'name': 'cui', 'age': 12}]}

对象

最常用类型不需要进行定义,直接创建对象就行,使用缩进表示属性

key: 
    child-key: value
    child-key2: value2
#{'key': {'child-key': 'value', 'child-key2': 'value2'}}

python中加载yaml

import yaml
with open("data.yaml",'r',encoding='utf8'):
    data=f.read() #此时data是yaml中的字符串
    print(data)# 
    ydata=yaml.load(data)#ydata是一个大的字典,里面包含key:value 
    print(ydata)

 类似资料: