首先了解一下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的形式去取值了。
