Python如何读取和存储yaml文件
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章将为大家详细讲解有关Python如何读取和存储yaml文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。YAML 是 "YAML Ain't a Marku
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
互联网科技企业
什么是科技互联网
保险科技 互联网保险
湖北九亚互联网络科技有限公司
新华互联网科技
深圳九邦互联网科技有限公司
中国互联网科技工作委员会毛军
金融科技还是互联网
朗新科技与工业互联网
金诺互联网科技
碳银互联网科技
顺玮阁互联网科技
互联网巨头投资的硬核科技
江苏南京365互联网科技
互联网和黑科技的看法
港股科技和互联网
启辰互联网科技
互联网营销推广黑科技
昆明中奇联合互联网科技
互联网时代科技型公司的机会
互联网金融科技
华服互联网科技靠谱吗
互联网科技集团
万易互联网科技有限公司
互联网科技英文翻译
互联网科技公司做什么
宁夏科技产业互联网案例
玉溪互联网科技怎么选
科技互联网的核心竞争力
陕西彩京云互联网科技有限公司