yaml 用于替代 xml,语法简单可读性佳例子:conda install pyyaml
# 对象 + 数组测试
object1:
- list1: # -表示后续内容作为数组的元素
key1: value1
- list2
- list3
object2:
sub_object1: value1
sub_object2: value2
sub_object3: value3
# 标量测试
none: ~ # ~在python读取为None,即空
time: 2021-4-26 12:12:12
str1: shenmengjia
str2: !!str 123456 # !!表示强制类型转换,做str类型转换,避免12345读取为数字
boolean: true
# 锚点测试
defaults: &defaults # 这里加个锚点
adapter: postgres
host: localhost
development:
database: myapp_development
<<: *defaults # <<表示合并到当前数据,*表示引用锚点
test:
database: myapp_test
<<: *defaults
读取文件信息
import yaml
with open("./config/config.yaml", 'r') as stream:
config = yaml.safe_load(stream)
获取的信息如下:
In [1]: config
Out[1]:
{'object1': [{'list1': {'key1': 'value1'}}, 'list2', 'list3'],
'object2': {'sub_object1': 'value1',
'sub_object2': 'value2',
'sub_object3': 'value3'},
'none': None,
'time': datetime.datetime(2021, 4, 26, 12, 12, 12),
'str1': 'shenmengjia',
'str2': '123456',
'boolean': True,
'defaults': {'adapter': 'postgres', 'host': 'localhost'},
'development': {'adapter': 'postgres',
'host': 'localhost',
'database': 'myapp_development'},
'test': {'adapter': 'postgres',
'host': 'localhost',
'database': 'myapp_test'}}



