没有合适的资源?快使用搜索试试~ 我知道了~
1. 安装PyYAML pip install PyYAML 2. 加载yaml文件 直接使用yaml.load()函数 demo.yml : kind: Deployment apiVersion: apps/v1 metadata: name: podinfo namespace: yaml-demo spec: replicas: 1 selector: matchLabels: app: podinfo template: metadata: labels: app: podinfo spec: containers: - n
资源推荐
资源详情
资源评论































python操作操作yaml说明说明
1. 安装安装PyYAML
pip install PyYAML
2. 加载加载yaml文件文件
直接使用yaml.load()函数
demo.yml :
kind: Deployment
apiVersion: apps/v1
metadata:
name: podinfo
namespace: yaml-demo
spec:
replicas: 1
selector:
matchLabels:
app: podinfo
template:
metadata:
labels:
app: podinfo
spec:
containers:
- name: podinfod
image: quay.io/stefanprodan/podinfo:0.3.0
ports:
- containerPort: 9898
load.py :
import yaml
import json
result = yaml.load(open('demo.yml'))
print json.dumps(result, indent=2)
输出 :
{
"kind": "Deployment",
"spec": {
"replicas": 1,
"template": {
"spec": {
"containers": [
{
"image": "quay.io/stefanprodan/podinfo:0.3.0",
"name": "podinfod",
"ports": [
{
"containerPort": 9898
}
] }
] },
"metadata": {
"labels": {
"app": "podinfo"
}
}
},
"selector": {
"matchLabels": {
"app": "podinfo"
}
}
},
"apiVersion": "apps/v1",
"metadata": {
"namespace": "yaml-demo",
"name": "podinfo"

}
}
3. 持久化持久化dict到到yml文件文件
使用yaml.safe_dump()函数
dump.py :
import yaml
d = {
"kind": "Deployment",
"spec": {
"replicas": 1,
"template": {
"spec": {
"containers": [
{
"image": "quay.io/stefanprodan/podinfo:0.3.0",
"name": "podinfod",
"ports": [
{
"containerPort": 9898
}
] }
] },
"metadata": {
"labels": {
"app": "podinfo"
}
}
},
"selector": {
"matchLabels": {
"app": "podinfo"
}
}
},
"apiVersion": "apps/v1",
"metadata": {
"namespace": "yaml-demo",
"name": "podinfo"
}
}
result = yaml.safe_dump(d, encoding='utf-8', allow_unicode=True, default_flow_style=False)
open('demo.yml', 'w').write(result)
demo.yml :
apiVersion: apps/v1
kind: Deployment
metadata:
name: podinfo
namespace: yaml-demo
spec:
replicas: 1
selector:
matchLabels:
app: podinfo
template:
metadata:
labels:
app: podinfo
spec:
containers:
- image: quay.io/stefanprodan/podinfo:0.3.0
name: podinfod
ports:
- containerPort: 9898
补充知识:补充知识:Python的的PyYAML模块详解模块详解

简介简介
Python的PyYAML模块是Python的YAML解析器和生成器。
安装安装
简单安装
pip install pyyaml
从源码安装从源码安装
下载源码包PyYAML-3.13.tar.gz 并解压,在命令行下切换到解压后的包目录内并执行如下命令:
python setup.py install
如果想使用比纯Python版本更快的LibYAML绑定,需要先下载并安装LibYAML,然后在安装PyYAML的时候执行如下命令:
python setup.py –with-libyaml install
为了使用基于LibYAML的解析器和生成器,请使用 CParser 和 CEmitter 类。例如:
from yaml import load, dump
try:
from yaml import Cloader as Loader, CDumper as Dumper
except ImportError:
from yaml import Loader, Dumper
# ...
data = load(stream, Loader=Loader)
# ...
output = dump(data, Dumper=Dumper)
请注意,基于纯Python和基于LibYAML的YAML解析器和生成器之间有一些细微但并不真正重要的区别。
最常被问到的问题最常被问到的问题
为什么如下所示的YAML文档在反序列化后再序列化,得到的YAML文档的格式与原来不一样?
import yaml
document = """
a: 1
b:
c: 3
d: 4
"""
print(yaml.dump(yaml.load(document)))
其中,上面代码的输出为:
a: 1
b: {c: 3, d: 4}
关于这个问题,其实,尽管最后得到的YAML文档的样式与原来的文档的样式不一致,但是却是正确的结果。
因为PyYAML默认会根据一个集合中是否有嵌套的集合来决定用哪种格式表示这个集合。如果一个集合中嵌套有其他集合,那
么会使用块样式来表示,否则会使用流样式来表示。
如果想要集合总是以块样式表示,可以将 dump() 方法的 default_flow_style 参数值设为 False ,如下所示:
print(yaml.dump(yaml.load(document), default_flow_style=False))
上面代码的输出为:
a: 1
b:
c: 3
d: 4
使用详解使用详解
剩余13页未读,继续阅读
资源评论


weixin_38704857
- 粉丝: 10
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- (源码)基于Python Tkinter GUI库的随机选择器.zip
- (源码)基于 PHP 的宝塔服务器状态监控系统.zip
- (源码)基于Arduino的BeeBot机器人控制系统.zip
- (源码)基于Atmel8266MCU的闹钟系统.zip
- 一个flask+jQuery的项目,实现文本相似度查询.作为Python必修课和Python选修课大作业
- (源码)基于Nodered和Arduino的气象站监测系统.zip
- (源码)基于Python和Flutter的智能家居自动化管理系统.zip
- (源码)基于Python的微信聊天机器人.zip
- 北上广成沈五城市PM2.5分析 中国农业大学大数据(二学位)Python程序设计课程作业
- 北京大学暑期学校:Python语言基础及应用(Python Programming and Application)小组作业
- 大三上,编译原理大作业,函数绘图语言解释器,Function Mapping Language Interpreter,Python实现
- Confluence实战指南:提升团队协作效能
- 南开大学《数据库原理》课程大作业,基于mysql和python实现的选课系统
- 多媒体大作业,一个基于 Electron-vue + Python 的图像转动画应用
- Python大作业,KTV点歌系统,支持歌曲增删改查,歌词显示
- 数据库的大作业 因为c++太麻烦了 所以使用Python实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
