yaml數據讀取


什么是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()

 

 
        

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM