品易云推流 关闭
文章详情页
文章 > Python常见问题 > python怎么读取yaml文件

python怎么读取yaml文件

头像

爱喝马黛茶的安东尼

2019-11-27 11:41:312475浏览 · 0收藏 · 0评论

yaml [ˈjæməl]: Yet Another Markup Language:另一种标记语言。yaml 是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文件,看了yaml后,发现这个更直观,更方便,有点类似于json格式。

yaml基本语法规则:

·大小写敏感;

·使用缩进表示层级关系;

·缩进时不允许使用Tab键,只允许使用空格;

·缩进的空格数目不重要,只要相同层级的元素左侧对齐即可;

·#表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和python的注释一样。

yaml支持的数据结构有三种:

·对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)

·数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)

·纯量(scalars):单个的、不可再分的值。字符串、布尔值、整数、浮点数、Null、时间、日期

安装yaml

使用pip安装pyyaml模块

pip install pyyaml

e37a50866788c66c09143f99a346e7e.png

python读取yaml文件

先用open方法读取文件数据,再通过load方法转成字典,这个load跟json里面的load是相似的。

# coding:utf-8
import yaml
import os
# 获取当前脚本所在文件夹路径
curPath = os.path.dirname(os.path.realpath(__file__))
# 获取yaml文件路径
yamlPath = os.path.join(curPath, "cfgyaml.yaml")
# open方法打开直接读出来
f = open(yamlPath, 'r', encoding='utf-8')
cfg = f.read()
print(type(cfg))  # 读出来是字符串
print(cfg)
d = yaml.load(cfg)  # 用load方法转字典
print(d)
print(type(d))

运行结果如下:

4abc0b25634fc30db508e81f2788935.png

python学习网,免费的在线学习python平台,欢迎关注!

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图