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. 参考文档
相关推荐
哆啦A梦的口袋呀8 分钟前
基于Python学习《Head First设计模式》第九章 迭代器和组合模式
python·学习·设计模式
sponge'28 分钟前
opencv学习笔记2:卷积、均值滤波、中值滤波
笔记·python·opencv·学习
databook1 小时前
概率图模型:机器学习的结构化概率之道
python·机器学习·scikit-learn
拾回程序猿的圈圈∞1 小时前
实战二:开发网页端界面完成黑白视频转为彩色视频
python·ai编程
亚林瓜子1 小时前
AWS Elastic Beanstalk + CodePipeline(Python Flask Web的国区CI/CD)
python·ci/cd·flask·web·aws·beanstalk·codepipeline
春末的南方城市1 小时前
中山大学&美团&港科大提出首个音频驱动多人对话视频生成MultiTalk,输入一个音频和提示,即可生成对应唇部、音频交互视频。
人工智能·python·深度学习·计算机视觉·transformer
深科文库2 小时前
构建 MCP 服务器:第 4 部分 — 创建工具
python·chatgpt·prompt·aigc·agi·ai-native
witton2 小时前
美化显示LLDB调试的数据结构
数据结构·python·lldb·美化·debugger·mupdf·pretty printer
nenchoumi31193 小时前
AirSim/Cosys-AirSim 游戏开发(一)XBox 手柄 Windows + python 连接与读取
windows·python·xbox
GoodStudyAndDayDayUp3 小时前
初入 python Django 框架总结
数据库·python·django