原链接:https://www.cnblogs.com/keyou1/p/11510975.HTML
1、安装ruamel.yaml
1.1.使用官方pypi源来安装
pip install ruamel.yaml
1.2.使用豆瓣pypi源来安装(推荐)
pip install -i https://pypi.douban.com/simple ruamel.yaml
2、基本方法
2.1读取yaml文件中的内容
在项目根目录下创建user_info.yaml文件
# 外号---user: - 可优 - keyou - 小可可 - 小优优# 爱人lovers: - 柠檬小姐姐 - 橘子小姐姐
from ruamel.yaml import YAMLimport yaml# 第一步: 创建YAML对象#yaml = YAML(typ='safe')# typ: 选择解析yaml的方式# 'rt'/None -> roundtripLoader/roundtripDumper(默认)# 'safe' -> SafeLoader/SafeDumper,# 'unsafe' -> normal/unsafe Loader/Dumper# 'base' -> baseloader# 第二步: 读取yaml格式的文件with open('user_info.yaml',mode='r') as file: data = yaml.safe_load(file) # 为列表类型 print(data)
运行结果:
2.2、将Python中的字典或者列表转化为yaml格式的数据
from ruamel.yaml import YAML# 第一步: 创建YAML对象# yaml = YAML(typ='safe')yaml = YAML()# 第二步: 将Python中的字典类型数据转化为yaml格式的数据src_data = {'user': {'name': '可优', 'age': 17, 'money': None, 'gender': True}, 'lovers': ['柠檬小姐姐', '橘子小姐姐', '小可可'] }with open('new_user_info.yaml', mode='w', enCoding='utf-8') as file: yaml.dump(src_data, file)
生成的new_user_info.yaml文件:
user: name: 可优 age: 17 money: gender: truelovers:- 柠檬小姐姐- 橘子小姐姐- 小可可
2.3.将Python中的对象转化为yaml格式数据
from ruamel.yaml import YAML# 第一步: 创建需要保存的User类class User: """ 定义用户类 """ def __init__(self, name, age, gender): self.name, self.age, self.gender = name, age, gender self.lovers = [] def loved(self, user): self.lovers.append(user)# 第二步: 创建YAML对象yaml = YAML()# 第三步: 注册用户类yaml.register_class(User)# 第四步: 保存用户对象keyou = User("可优", 17, "油腻男")lemon_little_girl = User("柠檬小姐姐", 16, "素颜小仙女")orange_little_girl = User("橘子小姐姐", 18, "不会PS的靓妹")keyou.loved(lemon_little_girl)keyou.loved(orange_little_girl)with open('lovers.yaml', mode='w', enCoding='utf-8') as file: yaml.dump([keyou], file)
生成的lovers.yaml文件:
- !User name: 可优 age: 17 gender: 油腻男 lovers: - !User name: 柠檬小姐姐 age: 16 gender: 素颜小仙女 lovers: [] - !User name: 橘子小姐姐 age: 18 gender: 不会PS的靓妹 lovers: []总结
以上是内存溢出为你收集整理的使用python处理yaml格式的数据全部内容,希望文章能够帮你解决使用python处理yaml格式的数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)