yaml文件读取,读取配置文件
一、yaml文件基本语法格式文件其实也是一种配置文件类型,相比较ini,conf,py配置文件来说,更加的简洁,操作也更加简单,同时可以存放不同类型的数据,不会改变原有数据类型,所有的数据类型在读取时都会原样输出
安装:
点安装pyyaml1 .列表列表类型书写主要是-和空格的结合,不同的缩进表示层级,如下:
- 1
- 2
- 3
- 4
- # 嵌套列表的话就一个-加一个空格
- 5 #
-
-
-
- 6 # 这表示嵌套两层列表
- 7
-
-
-编号:11 #列表套字典
名称:22
比如:33
#结果:[1, 2 , 3 - 4 ,[5, ],[[6,7,无]],无,{id: 11, name: 22, like: 33}]列表语法
2.字典列表类型书写语法主要是冒号,不同的缩进表示层级,如下:
dic1: 1
驾驶员信息中心2:“2”
驾驶员信息中心3:[666777888]#也支持列表
dic4: {11:22, 22:33} #支持字典
字典5: #字典嵌套
名称: xx
密码:“oo”
喜欢:#字典套列表
女孩
用于各种贬义的词语中作为强调成分
- xxoo: ooxx #再嵌套列表
ooxx: xxoo
#{dic1: 1,
#dic2: 2 ,
#dic3: [666,777,888],
#dic4: {11: 22, 22: 33},
#dict5: {name: xx , pwd: oo , like: [girl , ball ,{xxoo: ooxx , ooxx: xxoo}]}
#}字典语法
3.元祖元祖语法和列表一样,只是加了个声明:
!python/tuple #列表转成元组声明语法
-名字
表示"作用"
-班级
# (1, 2, 3)4.多组数据多组数据的分隔语法是-
- !python/tuple #列表转成元组声明语法
-名字
表示"作用"
-班级
-
名称:111
年龄:222岁
-
- 1
- 2
# 读取出来是个生成器对象,需要迭代取值
#(姓名,年龄,类别)
#{ 姓名:111,年龄:222}
#[1, 2]二、yaml文件的读写1.读取单组数据导入yaml #pip安装pyyaml
with open(_tuple.yaml ,encoding=utf-8) as f:
# res=yaml.load(f,Loader=yaml .满载)
res=yaml.full_load(f) #上面的简便写法
打印(分辨率)
打印(类型(分辨率))
对于表示留数中的行:
打印(行)2。读取多组数据导入yaml #pip安装pyyaml
with open(_tuple.yaml ,encoding=utf-8) as f:
res=yaml.load_all(f,Loader=yaml .满载)
res=yaml.full_load_all(f) #上面的简便写法,返回的是一个生成器对象,需要迭代取值
打印(分辨率)
打印(类型(分辨率))
对于表示留数中的行:
打印(第3行)。写单组数据
响应={
状态:1,
代码: 1001 ,
数据:[
{
id: 80,
regname: toml ,
“QW @JBK!# #($*@HLNN ,
手机: 13691579846 ,
leavemount: 0.00 ,
类型: 1 ,
regtime: 2019-08-14 20:24:45.0
},
{
id: 81,
regname: toml ,
“QW @JBK!# #($*@HLNN ,
手机: 13691579846 ,
leavemount: 0.00 ,
类型: 1 ,
regtime: 2019-08-14 20:24:45.0
}
],
消息: 获取用户列表成功
}响应
导入格式
def write_yaml():
用open(config.yaml ,编码=utf-8 ,模式=w )作为女:
尝试:
yaml.dump(data=response,stream=f,allow_unicode=True)
例外情况为e:
打印(五)
write_yaml()
颂歌:《1001》
数据:
-身份证号:80
离开装载:"0.00"
手机:"13691579846"
pwd: QW @JBK!# #($*@HLNN
regname: toml
regtime: 2019-08-14 20:24:45.0
类型:"1"
-身份证号:81
离开装载:"0.00"
手机:"13691579846"
pwd: QW @JBK!# #($*@HLNN
regname: toml
regtime: 2019-08-14 20:24:45.0
类型:"1"
消息:获取用户列表成功
状态:1结果config.yaml
4.写多组数据
响应={
状态:1,
代码: 1001 ,
数据:[
{
id: 80,
regname: toml ,
“QW @JBK!# #($*@HLNN ,
手机: 13691579846 ,
leavemount: 0.00 ,
类型: 1 ,
regtime: 2019-08-14 20:24:45.0
},
{
id: 81,
regname: toml ,
“QW @JBK!# #($*@HLNN ,
手机: 13691579846 ,
leavemount: 0.00 ,
类型: 1 ,
regtime: 2019-08-14 20:24:45.0
}
],
消息: 获取用户列表成功
}
信息={
名称: linux超,
"年龄":18岁
}要写入的多组数据
导入格式
def write_yaml():
用open(config.yaml ,编码=utf-8 ,模式=w )作为女:
尝试:
YAML。dump _ all(documents=[响应,信息],stream=f,allow_unicode=True)
例外情况为e:
打印(五)
write_yaml()
编写的config.yaml是
代码:“1001”
数据:
-身份证号:80
离开装载:“0.00”
手机:“13691579846”
pwd: QW @JBK!# #($*@HLNN
regname: toml
regtime: 2019-08-14 20:24:45.0
类型:“1”
-身份证号:81
离开装载:“0.00”
手机:“13691579846”
pwd: QW @JBK!# #($*@HLNN
regname: toml
regtime: 2019-08-14 20:24:45.0
类型:“1”
消息:成功获取用户列表
状态:1
-
年龄:18岁
名称:linux超级写结果
转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。