yaml是专门用来写配置文件的标记语言,非常简洁和强大,比ini更加直观更方便。yaml可以作为python的项目配置文件,使用第三方模块yaml可以读取yaml文件,下面是一份简单的配置文件示例
db.yaml
mysql:
host: 127.0.1.1 # ip
user: test # 用户名
port: 3306 # 端口
db: test
password: pw
redis:
host: 127.0.0.1
port: 3679
db: 0
pwd: 3435
db_ip:
- 192.168.0.1
- 192.168.0.2
- 192.168.0.2
yaml对大小写敏感,使用缩进来表示层次关系,这一点与python相同,一个缩进可以是2个空格或者4个空格,注意不要使用tab键代替空格。上面这份配置文件等价于python中的字典
{'db_ip': ['192.168.0.1', '192.168.0.2', '192.168.0.2'],
'mysql': {'db': 'test',
'host': '127.0.1.1',
'password': 'pw',
'port': 3306,
'user': 'test'},
'redis': {'db': 0, 'host': '127.0.0.1', 'port': 3679, 'pwd': 3435}}
python没有提供专门的标准库来读取yaml文件,需要安装第三方库
pip3 install PyYaml
读取示例如下
import yaml
f = open('db.yaml')
data = f.read()
yaml_reader = yaml.load(data)
print(yaml_reader['mysql']) # 以字典的形式输出mysql下的所有配置
print(yaml_reader['redis']['port']) # 输出某一项
print(yaml_reader['db_ip']) # db_ip配置是一个数组
程序输出结果
{'host': '127.0.1.1', 'user': 'test', 'port': 3306, 'db': 'test', 'password': 'pw'}
3679
['192.168.0.1', '192.168.0.2', '192.168.0.2']
QQ交流群: 211426309