YAML配置文件的格式

YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。YAML 的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。YAML 的配置文件后缀为 .yml,如:runoob.yml

基础语法

YAML 通常用来配置文件的编辑,可以近似的看成 map 的映射关系。

  • 元素 : 关键字大小写敏感,分成类 { k e y 1 : v a l u e 1 , k e y 2 : v a l u e 2 } \{ key1: value1 , key2: value2\} {key1:value1,key2:value2},数组,元组 [ ′ R u b y ′ , ′ P e r l ′ , ′ P y t h o n ′ ] [ 'Ruby', 'Perl', 'Python'] [′Ruby′,′Perl′,′Python′],纯量(字符串,布尔值,整数,浮点数,NULL,时间,日期)。
  • 层级关系 : 使用缩进关系表示层级关系,缩进的空格数不重要,只要相同的层级的元素左对齐即可
  • '#'表示注释

映射关系 :

  • 对象键值对使用冒号结构表示 key: value,冒号后面要加一个空格,也可以使用 key:{key1: value1, key2: value2, ...}。还可以使用缩进表示层级关系;
  • 较为复杂的对象格式,可以使用问号加一个空格代表一个复杂的 key,配合一个冒号加一个空格代表一个 value:

第一种对象举例

yaml 复制代码
key: 
    child-key: value
    child-key2: value2

第二种对象举例

yaml 复制代码
?  
    - complexkey1
    - complexkey2
:
    - complexvalue1
    - complexvalue2

详细解释

  1. 数组的构建

以 - 开头的行表示构成一个数组:

  • A
  • B
  • C

一个相对复杂的例子:

yaml 复制代码
companies:
    -
        id: 1
        name: company1
        price: 200W
    -
        id: 2
        name: company2
        price: 500W
  1. 日期采用复合 iso8601 格式的年、月、日表示。
javascript 复制代码
date: 1976-07-31
  1. 可以空行在写入内容。
  2. 参考文档
相关推荐
小码的头发丝、17 分钟前
Django中ListView 和 DetailView类的区别
数据库·python·django
Chef_Chen1 小时前
从0开始机器学习--Day17--神经网络反向传播作业
python·神经网络·机器学习
千澜空1 小时前
celery在django项目中实现并发任务和定时任务
python·django·celery·定时任务·异步任务
斯凯利.瑞恩2 小时前
Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户附数据代码
python·决策树·随机森林
yannan201903132 小时前
【算法】(Python)动态规划
python·算法·动态规划
蒙娜丽宁2 小时前
《Python OpenCV从菜鸟到高手》——零基础进阶,开启图像处理与计算机视觉的大门!
python·opencv·计算机视觉
光芒再现dev2 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
好喜欢吃红柚子2 小时前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python2 小时前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习
神奇夜光杯3 小时前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长