配置文件 .yml 写法小结

yaml 是什么?

在 github 一些开源项目里经常可以看到 .travis.yml 文件,后来接触持续集成这个概念时发现很多文件都是 .yml 后缀的文件。我在 阮一峰-YAML 语言教程 里了解了它的作用以及基本写法,他的那篇文章描述的略微有点啰嗦,实际看到的大多数配置文件还是及其简单的,而我们要做的是能读懂它们,就像读懂 .json 一样。

yaml 语言(或者说是一种规范吧)可以编写 .yml 文件,和 json 一样是配置文件。也许是有人认为 json 的写法不爽,于是乎发明了这玩意,通过下面的例子,可以看到 yaml 写的配置文件确实要比 json 方便很多。

编写规则

  • 大小写敏感

json 里也是大小写敏感的,这点二者一样。

  • 使用缩进表示层级关系

json 中使用 {} 的嵌套表示层级,而 yaml 使用缩进,后者更方便一些。

  • # 表示注释

json 文件中不允许写注释,对于很长配置文件全靠字面意思猜挺痛快的,yaml 可以写注释,:100:

数据结构

配置文件理应十分简洁,与 json 相比,不用频繁的写 {}[],毕竟换行和 - 符号更加简洁,字符串也不需要频繁的加引号(无论是单引号还是双引号)。

对象

 

# conf.yml
animal: pets
hash: { name: Steve, foo: bar }

转换为 json 为:

 

{
    { "animal": "pets" },
    { "hash": { "name": "Steve", "foo": "bar" } }
}

数组

 

# conf.yml
Animal:
 - Cat
 - Dog
 - Goldfish

转换为 json 为:

 

{ "Animal": [ "Cat", "Dog", "Goldfish" ] }

字符串

 

# conf.yml
# 正常情况下字符串不用写引号
str: 这是一行字符串
# 字符串内有空格或者特殊字符时需要加引号
str: '内容: 字符串'

null

 

# conf.yml
parent: ~

.yml 中 ~ 表示 null,转换为 json 为:

 

{ "parent": null }

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python配置文件通常使用YAML (.yml)格式。YAML是一种人类可读的数据序列化格式,用于表示数据结构和配置。在Python中,可以使用yaml库来解析和读取YAML格式的配置文件。以下是一个示例代码片段,展示了如何读取一个YAML配置文件并打印其中的内容: ```python import os import yaml # 获取yaml文件路径 yamlPath = os.path.join("D:\\test\\", "config.yml") # 打开并读取yaml文件 with open(yamlPath, 'r', encoding='utf-8') as f: cfg = yaml.safe_load(f) # 读取配置文件中的内容 user_name = cfg['user_name'] plan_date = cfg['date'] if 'date' in cfg else '' user_name_list = cfg['user_name_list'] # 打印配置文件中的内容 print(user_name) print(plan_date) for element in user_name_list: print(element.get('user_name')) ``` 以上代码使用yaml库的`safe_load`方法来加载YAML配置文件,并将其转换为Python字典对象。然后,可以通过字典的键来访问配置文件中的不同配置项。在这个例子中,我们将`user_name`、`date`和`user_name_list`的值打印出来。 请注意,你需要根据实际的配置文件路径和键名进行相应的修改。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python解析yml配置文件](https://blog.csdn.net/godloveleo9527/article/details/123046694)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值