开发者社区> 问答> 正文

python怎么读取yaml文件

问题来源于python学习网

展开
收起
保持可爱mmm 2019-12-10 16:01:18 433 0
1 条回答
写回答
取消 提交回答
  • 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))

    2019-12-10 16:01:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载