python yaml模块基础使用

yaml是专门用来写项目中的配置文件的模块。配置文件指在一个项目中,对项目进行配置的一些数据,运行过程中一般不会发生变化。
安装yaml

pip install pyyaml

新建一个yaml文件,以yaml或yml为后缀名:

config.yaml内容如下:
#信息
info:
 name: 'zhangsan'
 age: 18
 gender: '男'
#兴趣爱好
hobby:
 - playgames
 - sleep

语法规则如下:

1.使用缩进表示层级关系
2.缩进最好使用空格,数目不固定,相同层级的元素左侧对齐即可。
3.文件中字符串可以用引号可以不用引号
4.字典的表示以:+空格分开,以键值对的形式
5.列表的表示 以’—’+空格与值分开

python读取yaml文件内容:

#首先导入yaml
import yaml
with open('config.yaml',encoding='utf-8')as f:
	conf=yaml.load(f)
	print(conf)

结果如下:

YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  config=yaml.load(f)

{'info': {'name': 'zhangsan', 'age': 18, 'gender': '男'}, 'hobby': ['playgames', 'sleep']}

但是有一条yaml的警告信息,提示使用默认的方式加载程序是不安全的,所以在读取内容时手动指定加载方式,看下load的源码:
在这里插入图片描述
修改代码:

import yaml
with open('config.yaml',encoding='utf-8')as f:
	conf=yaml.load(f,Loader=yaml.FullLoader)
	print(conf)

结果如下:
#警告信息不会提示
{'info': {'name': 'zhangsan', 'age': 18, 'gender': '男'}, 'hobby': ['playgames', 'sleep']}

但是yaml里面还有其他的Loader,比如SafeLoader,会更加安全:

import yaml
with open('config.yaml',encoding='utf-8')as f:
	conf=yaml.load(f,Loader=yaml.SafeLoader)
	print(conf)

结果如下:
#警告信息不会提示
{'info': {'name': 'zhangsan', 'age': 18, 'gender': '男'}, 'hobby': ['playgames', 'sleep']}

yaml写入数据:

import yaml
with open('config.yaml','w') as f:
	f.dump({'name':'lisi','hobby':['playgames','sleep']},f)

结果:
hobby:
- playgames
- sleep
name: lisi

如果需要引用yaml文件中的数据,读取出来通过操作字典或列表等数据类型获取想要的数据就行。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

久醉绕心弦,

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值