Python如何读取和存储yaml文件
发表于:2024-09-25 作者:千家信息网编辑
千家信息网最后更新 2024年09月25日,这篇文章将为大家详细讲解有关Python如何读取和存储yaml文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。YAML 是 "YAML Ain't a Marku
千家信息网最后更新 2024年09月25日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安全错误
数据库的锁怎样保障安全
软件开发经理工资
杭州优品网络技术有限公司
桦南手机软件开发在线咨询
易语言判断是否和服务器联通
武汉花斑马网络技术有限公司
网络安全类风险
大话版西游2服务器移民
海口飞腾服务器生产厂商
武汉软件开发人员工资
ios软件开发需要什么样的工具
模拟滴滴打车数据库
公安网络安全工作措施
服务器安全费用
电力监控网络安全专题汇报
上海网络安全工程售后服务
刺激战场微信服务器连不上
南沙网络安全运维费用
深圳龙霸网络技术有限公
云技术和数据库技术
0基础学安卓软件开发
服务器电源可以重启吗
太仓易飞软件开发商
浙商银行软件开发中心地址
数据库触发器的格式
数据库vo
数据范式解决了数据库什么问题
zc数据库同步软件
四川惠普服务器虚拟化优化
北京路客互联网科技有限公司市值
小学网络安全班会 ppt