python读取yaml文件

时间:2023-01-15 07:44:20

与ini文件类似,yaml文件也可以用来管理邮箱的信息

 

目录

1、安装yaml

2、编写yam文件

3、读取yaml文件

 

1、安装yaml

安装:

pip install pyyaml

 

2、编写yam文件

新建一个yaml,命名为test.yaml,yaml里面写法也是和python键值对的格式

#yaml文件

admin: root
password: 123456

特别的:

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • #表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注释一样
  • 冒号后面输入一个空格,再输入值

3、读取yaml文件

编写一个py文件,读取yaml文件,yaml文件需要通过load方法转换成字典格式,然后再通过字典取值的方式获得值

# coding:utf-8

import yaml
import os
curPath=os.path.dirname(os.path.realpath(__file__))
yaml1=os.path.join(curPath,"test.yaml")

f1=open(yaml1)   #打开yaml文件
d1=yaml.load(f1) #使用load方法加载

print (d1)
print (type(d1)) #读出类型为字典
print d1['user'] #通过字典的取值来取值

 yaml文件中分为序列和纯量

序列:

- admin1: 123456 # 以-开头,读出为列表

纯量:

n2: true  
n3: false                  #布尔值用true和false表示 

{'n2': True, 'n3': True} #读出来为布尔型

混合:

list嵌套dict,在yaml里面写入如下内容:
- user: admin1
  psw: '123456'

- user: admin2
  psw: '111111'

- user: admin3
  psw: '222222'
用python读取出来的结果:
[{'user': 'admin1', 'psw': '123456'},
{'user': 'admin2', 'psw': '111111'},
{'user': 'admin3', 'psw': '222222'}]