使用python处理yaml格式的数据

使用python处理yaml格式的数据,第1张

概述原链接:https://www.cnblogs.com/keyou1/p/11510975.html1、安装ruamel.yaml  1.1.使用官方pypi源来安装pipinstallruamel.yaml1.2.使用豆瓣pypi源来安装(推荐)pipinstall-ihttps://pypi.douban.com/simpleruamel.yaml2、基本方法 2.1读取yaml文件中的内容

原链接: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:  - 柠檬小姐姐  - 橘子小姐姐

将yaml格式数据转化为python中的数据类型

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格式的数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1189362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存