欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python讀取和存儲yaml文件的方法

 更新時間:2021年10月17日 14:06:10   作者:Together_CZ  
本文主要介紹了Python讀取和存儲yaml文件的方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

         YAML 是 "YAML Ain't a Markup Language"(YAML 不是一種標記語言)的遞歸縮寫。在開發(fā)的這種語言時,YAML 的意思其實是:"Yet Another Markup Language"(仍是一種標記語言)。

        YAML 的語法和其他高級語言類似,并且可以簡單表達清單、散列表,標量等數(shù)據(jù)形態(tài)。它使用空白符號縮進和大量依賴外觀的特色,特別適合用來表達或編輯數(shù)據(jù)結構、各種配置文件、傾印調(diào)試內(nèi)容、文件大綱(例如:許多電子郵件標題格式和YAML非常接近)。

基本語法

大小寫敏感
使用縮進表示層級關系
縮進不允許使用tab,只允許空格
縮進的空格數(shù)不重要,只要相同層級的元素左對齊即可
'#'表示注釋

數(shù)據(jù)類型

YAML 支持以下幾種數(shù)據(jù)類型:
對象:鍵值對的集合,又稱為映射(mapping)/ 哈希(hashes) / 字典(dictionary)
數(shù)組:一組按次序排列的值,又稱為序列(sequence) / 列表(list)
純量(scalars):單個的、不可再分的值

關于yaml的簡單介紹就到這里,今天需要用Python來讀取/存儲yml文件,廢話補多少,直接看具體的操作:

#!usr/bin/env python
# encoding:utf-8
from __future__ import division
 
 
"""
__Author__:沂水寒城
功能: yaml 操作
"""
 
 
import sys
import yaml
 
 
def write2Yaml(data, save_path="test.yaml"):
    """
    存儲yaml文件
    """
    with open(save_path, "w") as f:
        yaml.dump(data, f)
 
 
def loadData(data="config.yaml"):
    """
    加載yaml文件
    """
    with open(data, "r") as f:
        content = f.read()
    yamlData = yaml.load(content)
    print("yamlData_type: ", type(yamlData))
    print("yamlData: ", yamlData)
    return yamlData
 
 
if __name__ == "__main__":
    data = {
        "kind": "SeldonDeployment",
        "spec": {
            "name": "test-deployment",
            "predictors": [
                {
                    "graph": {
                        "endpoint": {"type": "REST"},
                        "type": "MODEL",
                        "name": "step_one",
                        "children": {
                            "endpoint": {"type": "REST"},
                            "type": "MODEL",
                            "name": "step_two",
                            "children": {
                                "endpoint": {"type": "REST"},
                                "type": "MODEL",
                                "name": "step_three",
                                "children": [],
                            },
                        },
                    },
                    "componentSpecs": [
                        {
                            "spec": {
                                "containers": [
                                    {
                                        "image": "seldonio/step_one:1.0",
                                        "name": "step_one",
                                    },
                                    {
                                        "image": "seldonio/step_two:1.0",
                                        "name": "step_two",
                                    },
                                    {
                                        "image": "seldonio/step_three:1.0",
                                        "name": "step_three",
                                    },
                                ]
                            }
                        }
                    ],
                    "name": "example",
                    "replicas": 1,
                }
            ],
        },
        "apiVersion": "machinelearning.seldon.io/v1alpha2",
        "metadata": {"name": "seldon-model"},
    }
 
 
    write2Yaml(data, save_path="test.yaml")
 
    yamlData = loadData(data="test.yaml")
 
 
    print(yamlData == data)
 

上述測試用的test.yaml文件如下:

apiVersion: machinelearning.seldon.io/v1alpha2
kind: SeldonDeployment
metadata:
  name: seldon-model
spec:
  name: test-deployment
  predictors:
  - componentSpecs:
    - spec:
        containers:
        - image: seldonio/step_one:1.0
          name: step_one
        - image: seldonio/step_two:1.0
          name: step_two
        - image: seldonio/step_three:1.0
          name: step_three
    graph:
      children:
        children:
          children: []
          endpoint:
            type: REST
          name: step_three
          type: MODEL
        endpoint:
          type: REST
        name: step_two
        type: MODEL
      endpoint:
        type: REST
      name: step_one
      type: MODEL
    name: example
    replicas: 1

        在上述代碼中可以看到我操作的yaml文件后綴都寫的是yaml,其實寫成yml也是可以的。如下所示:

到此這篇關于Python讀取和存儲yaml文件的方法的文章就介紹到這了,更多相關Python讀取和存儲yaml文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • PyTorch權值初始化原理解析

    PyTorch權值初始化原理解析

    這篇文章主要為大家介紹了PyTorch權值初始化原理示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • python獲取各操作系統(tǒng)硬件信息的方法

    python獲取各操作系統(tǒng)硬件信息的方法

    這篇文章主要介紹了python獲取各操作系統(tǒng)硬件信息的方法,實例分析了Python在windows、Linux及Mac等操作系統(tǒng)上獲取CPU信息的相關技巧,需要的朋友可以參考下
    2015-06-06
  • pytorch模型的定義、修改、讀取、斷點續(xù)訓深入解析

    pytorch模型的定義、修改、讀取、斷點續(xù)訓深入解析

    模型定義是深度學習中重要的一環(huán),PyTorch提供了強大而靈活的工具和函數(shù),使我們能夠輕松定義各種類型的深度學習模型,通過深入理解模型定義的原理和應用,我們能夠更好地理解和設計自己的模型,從而提升深度學習任務的性能和效果
    2024-03-03
  • 使用Django和Flask獲取訪問來源referrer

    使用Django和Flask獲取訪問來源referrer

    這篇文章主要介紹了使用Django和Flask獲取訪問來源referrer,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 利用Python繪制有趣的萬圣節(jié)南瓜怪效果

    利用Python繪制有趣的萬圣節(jié)南瓜怪效果

    這篇文章主要介紹了用Python繪制有趣的萬圣節(jié)南瓜怪效果,本文實例圖文相結合給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • Selenium定位瀏覽器彈窗方法實例總結

    Selenium定位瀏覽器彈窗方法實例總結

    彈出框是自動化測試中一種常見的元素,這種元素通常是客戶端自帶的,下面這篇文章主要給大家介紹了關于Selenium定位瀏覽器彈窗方法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 深入淺析python3中的unicode和bytes問題

    深入淺析python3中的unicode和bytes問題

    在python3中,有兩種字符串類型,默認的就是str,即unicode,也叫做文本類型。這篇文章主要介紹了python3中的unicode和bytes問題,需要的朋友可以參考下
    2019-07-07
  • python中異常的傳播詳解

    python中異常的傳播詳解

    大家好,本篇文章主要講的是python中異常的傳播詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python爬取個人微信朋友信息操作示例

    Python爬取個人微信朋友信息操作示例

    這篇文章主要介紹了Python爬取個人微信朋友信息操作,涉及Python使用itchat包實現(xiàn)微信朋友信息爬取操作相關實現(xiàn)技巧,需要的朋友可以參考下
    2018-08-08
  • Python從入門到精通之多線程使用詳解

    Python從入門到精通之多線程使用詳解

    這篇文章主要介紹了Python中的多線程使用,包括創(chuàng)建線程、線程同步、線程間通信以及線程池等基本概念和技巧,文中的示例代碼講解詳細,需要的可以參考一下
    2023-07-07

最新評論