Python如何读取和存储yaml文件
发表于:2024-09-26 作者:千家信息网编辑
千家信息网最后更新 2024年09月26日,这篇文章将为大家详细讲解有关Python如何读取和存储yaml文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。YAML 是 "YAML Ain't a Marku
千家信息网最后更新 2024年09月26日Python如何读取和存储yaml文件
这篇文章将为大家详细讲解有关Python如何读取和存储yaml文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
YAML 是 "YAML Ain't a Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。
YAML 的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。
基本语法
大小写敏感
使用缩进表示层级关系
缩进不允许使用tab,只允许空格
缩进的空格数不重要,只要相同层级的元素左对齐即可
'#'表示注释
数据类型
YAML 支持以下几种数据类型:
对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
纯量(scalars):单个的、不可再分的值
关于yaml的简单介绍就到这里,今天需要用Python来读取/存储yml文件,废话补多少,直接看具体的操作:
#!usr/bin/env python# encoding:utf-8from __future__ import division """__Author__:沂水寒城功能: yaml 操作""" import sysimport 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/v1alpha2kind: SeldonDeploymentmetadata: name: seldon-modelspec: 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文件"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
文件
存储
数据
语言
篇文章
内容
层级
更多
标记
空格
类型
语法
不错
相同
重要
高级
代码
元素
功能
单个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
打开cydia数据库错误
纸箱吸塑一体软件开发公司
数据库物理信息能删除吗
java和数据库面试题
输错密码后无法访问服务器
网络安全主持人开场白
国研网数据库免费入口
无锡优势网络技术质量服务
正新软件开发工资
软件开发工程师岗 t2
nosql数据库技术课后答案
现在网络安全越来越重要了
计算机三级考试网络技术考啥
单位加强网络安全措施
落实党组网络安全工作责任制
DROPBOX下载软件开发
软件开发主要业绩描述
戴尔服务器保护电压错误
ip网络技术的试卷
招远市软件开发培训
你不能在安全的服务器上游戏
计算机数据库考试
绵阳安卓软件开发
与服务器连接
长沙苹果软件开发哪里好
魔域开服怎么买服务器
江苏常规软件开发资费
南宁共享充电软件开发公司
数据库加固技术
数据库维护和故障排除实例