首先了解一下yaml最基础、最常用的语法
大小写敏感
使用缩进代表层级关系
缩进只能用空格,不能使用Tab
不要求空格个数,只要相同层级左对齐
冒号后面需要输入一个空格,再输入值
字符串默认不使用引号表示,也可以用单引号或双引号,双引号不会对特殊字符进行转义
s1: '内容\n字符串'
s2: "内容\n字符串"
单引号之中如果还有单引号,必须连续使用两个单引号转义
str: 'labor''s day'
map嵌套map(字典)
# YAML表示
websites:
YAML: yaml.org
Ruby: ruby-lang.org
Python: python.org
Perl: use.perl.org
# 对应Json表示
{ websites:
{ YAML: 'yaml.org',
Ruby: 'ruby-lang.org',
Python: 'python.org',
Perl: 'use.perl.org' } }
map嵌套list(列表)
# YAML表示
languages:
- Ruby
- Perl
- Python
- c
# 对应Json表示
{ languages: [ 'Ruby', 'Perl', 'Python', 'c' ] }
list嵌套list
# YAML表示
-
- Ruby
- Perl
- Python
-
- c
- c++
- java
# 对应Json表示
[ [ 'Ruby', 'Perl', 'Python' ], [ 'c', 'c++', 'java' ] ]
除此以外,还可以如下表示该结构
# 方法2
- - Ruby
- Perl
- Python
- - c
- c++
- java
# 方法3
- [Ruby,Perl,Python]
- [c,c++,java]
list嵌套map
# YAML表示
-
id: 1
name: huang
-
id: 2
name: liao
# 对应Json表示
[ { id: 1, name: 'huang' }, { id: 2, name: 'liao' }
1、安装yaml
pip install pyyaml
2、编写一个py文件,读取yaml文件,yaml文件需要通过load方法转换成字典格式,然后再通过字典取值的方式获得值
# -*- coding:utf-8 -*-
import yaml
import os
# 获取当前文件的RealPath F:\before\lds\pages
fileNamePath = os.path.split(os.path.realpath(__file__))[0]
# 获取配置文件的路径 F:\before\lds\pages\application-lds.yml
yamlPath = os.path.join(fileNamePath, 'application-lds.yml')
# 先读取文件数据,再通过load方法转成字典
with open(yamlPath, 'r', encoding='utf-8') as f:
x = yaml.load(f, Loader=yaml.FullLoader)
print(x['table']['self'])
load加载成字典形式后,就可以使用key-value的形式去取值了。