什么是YAML
YAML 不是一種標記語言,是一種直觀的能夠被電腦識別的數據序列化格式,是一個可讀性高並且容易被人類閱讀, 容易和腳本語言交互;
- 語法規則
1.大小寫敏感 2.使用縮進表示層級關系 3.縮進時不允許使用Tab鍵,只允許使用空格。 4.縮進的空格數目不重要,只要相同層級的元素左側對齊即可
- 支持的數據結構
1.對象:鍵值對的集合 2.數組:一組按次序排列的值,又稱為列表(list) 3.純量(scalars):單個的、不可再分的值
- PyYAML庫安裝
PyYAML為python解析yaml的庫 安裝:pip3 install -U PyYAML
讀取yaml文件
yaml.load(stream,Loader=yaml.FullLoader)
參數: stream:待讀取文件對象
寫yaml文件
yaml.dump(data,stream,**kwds) 常用參數: data:寫入數據類型為字典 stream:打開文件對象 encoding='utf-8' # 設置寫入編碼格式 allow_unicode=True # 是否允許unicode編碼
示例:
import yaml
data = {'Search_Data': {
'search_test_002': {'expect': {'value': '你好'}, 'value': '你好'},
'search_test_001': {'expect': [4, 5, 6], 'value': 456}}}
with open("./text.yaml","w") as f: # 在當前目錄下生成text.yaml文件,若文件存在直接更新內容
yaml.dump(data,f)
數據構造:
代碼:
import yaml def build_data(): file_name="../data/data_login.yaml" data_list=[] with open(file_name,"r",encoding="utf-8") as f: # 方式一 # data = yaml.load(f,Loader=yaml.FullLoader)["success"] # for i in data.values(): # data_list.append(i) # print(data_list) # 方式二 data = list(yaml.load(f,Loader=yaml.FullLoader)['success'].values()) print(data) build_data()