深圳做微商网站,网站说服力营销型网站策划,网站开发总监,京东导购网站开发一.yaml介绍
yaml文件是一种配置文件类型#xff0c;相比较ini#xff0c;conf配置文件来说#xff0c;更加的简洁#xff0c;操作也更加简单#xff0c;同时可以存放不同类型的数据。
yaml使用场景 配置文件 测试用例
二.yaml语法
大小写敏感 使用缩进表示层级关系…一.yaml介绍
yaml文件是一种配置文件类型相比较iniconf配置文件来说更加的简洁操作也更加简单同时可以存放不同类型的数据。
yaml使用场景 配置文件 测试用例
二.yaml语法
大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab只允许使用空格 缩进的空格数目不重要只要相同层级的元素左对齐即可 # 表示注释从它开始到行尾都被忽略
三.环境准备
第一步打开pycharm创建一个项目pythonProject20231125
第二步创建一个包Python Package名为config再创建一个file名为conf.yaml
第三步创建一个包Python Package名为tools再创建一个Python File名为yamlControl.py
conf.yaml是配置文件
yamlControl模块是读取 conf.yaml配置数据的 四.yaml使用
1.字典
格式 # 下面格式读到Python里会是个dict(字典)
name: 灰蓝
age: 0
job: Tester 查看yaml数据通过yamlControl模块写代码查看配置文件输出数据
import yaml
#读取yaml文件-单个文件
# 加上 ,encodingutf-8处理配置文件中含中文出现乱码的情况
def get_yaml_data(fileDir):#打开文件foopen(fileDir,r,encodingutf-8)#调用方法resyaml.load(fo,Loaderyaml.FullLoader)return res
if __name__ __main__:resget_yaml_data(../config/conf.yaml)print(res)运行结果 2.列表
格式
# 下面格式读到Python里会是个list(列表)
- 灰蓝
- 0
- Tester 运行结果 3.复合结构
举例列表里套字典
# 下面格式读到Python里是个list里包含dict
- name: 灰蓝age: 0job: Tester
- name: Jamesage: 30 运行结果 4.基本类型
yaml中有以下基本类型 字符串 整型 浮点型 布尔型 null 时间 日期
我们写个例子来看下
# 这个例子输出一个字典其中value包括所有基本类型
str: Hello World!
int: 110
float: 3.141
boolean: true # or false
None: null # 也可以用 ~ 号来表示 null
time: 2016-09-22t11:43:30.2008:00 # ISO8601写法百度
date: 2016-09-22 # 同样ISO8601 运行结果
D:\python3.9\python.exe D:\sonQin\pythonProject20231125\tools\yamlControl.py
{str: Hello World!, int: 110, float: 3.141, boolean: True, None: None, time: datetime.datetime(2016, 9, 22, 11, 43, 30, 200000, tzinfodatetime.timezone(datetime.timedelta(seconds28800))), date: datetime.date(2016, 9, 22)}Process finished with exit code 05.空格或特殊字符
注意如果字符串没有空格或特殊字符不需要加引号但如果其中有空格或特殊字符则需要加引号了
举例
str: 灰蓝
str1: Hello World
str2: Hello\nWorld
运行结果
6.单引号与双引号
这里要注意单引号和双引号的区别单引号中的特殊字符转到Python会被转义也就是到最后是原样输出了双引号不会被Python转义到最后是输出了特殊字符
来个例子理解下
str1: Hello\nWorld
str2: Hello\nWorld
运行结果 7.引用 和 * 用于引用
语法
name: name 灰蓝
tester: *name 运行结果 8.强制转换
yaml是可以进行强制转换的用 !! 实现如下
str: !!str 3.14
int: !!int 123
运行结果
明显能够看出123被强转成了int类型而float型的3.14则被强转成了str型。
9.分段
在同一个yaml文件中可以用 --- 来分段这样可以将多个文档写在一个文件中
---
name: James
age: 20
---
name: Lily
age: 19
这时候我们就得用到我们的 load_all() 方法出场了load_all() 方法会生成一个迭代器在yamlControl模块中添加一个get_yaml_datas(fileDir)方法可以用for循环输出出来
yamlControl模块新增的代码注意调用的是load_all()方法 运行结果 10.写yaml格式的内容
调用dump()方法
举例
在yamlControl模块新增set_yaml_data(fileDir)方法 运行结果 最后conf.yaml文件和yamlControl.py文件在资源绑定中有如有需要可自行下载
如有问题可在评论区留言