yaml 模块用于处理 yaml 文件,yaml 是一种比xml和json更轻的文件格式,k8s 集群声明资源对象就是使用 yaml 文件,使用yaml 模块可以更方便的处理yaml 文件
模块 常用方法
dump: 将一个python对象生成为yaml文档
load: 返回一个对象
dump_all:
load_all:
简单示例演示
load
yaml_str1 = """ name: jack age: 25 job: IT """ print(yaml_str1, type(yaml_str1)) contnet = yaml.load(yaml_str1) print(contnet, type(contnet))
输出
name: jack age: 25 job: IT <class 'str'> {'name': 'jack', 'age': 25, 'job': 'IT'} <class 'dict'>
dump
import yaml yaml_str1 = """ name: jack age: 25 job: IT """ print(yaml_str1, type(yaml_str1)) contnet = yaml.load(yaml_str1) print(contnet, type(contnet)) new_content = yaml.dump(contnet, open('t1.yaml', 'w', encoding='utf-8'))
查看生成的文件
# 生成nginx 的yaml 文件
import yaml with open('nginx.yaml', 'r', encoding='utf-8') as f1: content = yaml.load(f1) print(f1) with open('nginxv2.yaml', 'w', encoding='utf-8') as f2: yaml.dump(content, f2) # contnet 对象 f2生成后存放的文件
查看生成后的文件
生成后的文件可运行
yaml 文件里面可以声明多个资源对象,可使用 load_all
import yaml with open('nginx_busy.yaml', 'r', encoding='utf-8') as f1: content = yaml.load_all(f1) new_content = yaml.dump_all(content) print(new_content, type(new_content)) with open('ng_busy.yaml', 'w', encoding='utf-8') as f2: f2.write(new_content)
查看生成后的文件
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。