Python解析yaml文件怎么做?如何将yaml文件数据转为Python类型

yaml是一种能够轻易被电脑所解析和识别的可序列化文件类型,而在python程序开发之中有时也会涉及到对yaml文件的解析处理操作 。而这一篇文章要来和大家讲解的内容就是将解析yaml文件并将其数据转为python类型的方法教程,感兴趣的话就一起往下看看吧 。

Python解析yaml文件怎么做?如何将yaml文件数据转为Python类型

文章插图
(1)首先的话就是要知道yaml文件之中数据的保存形式是不一样的,所以它们转换到python中之后所生成的类型也是不同的 。那么最简单的就是键值对格式的数据转为字典类型,示例如下:
# yamlname: Tom Smithage: 37spouse:    name: Jane Smithage: 25# pythonimport yamlf = open(r'nfig.yml')print (yaml.load(f)){'name': 'Tom Smith', 'age': 37, 'spouse': {'name': 'Jane Smith', 'age': 25}}从代码运行的节骨来看,当yaml文件中一个键下面还有其他的键值对时,转为python类型就会变成字典嵌套的形式 。
(2)另外还有一种情况就是当键下面有多个键值对时,并且使用符号横杠-来在其之前标记 。那么它及其下面的所有键值对就会被视为一个整体,直到有另外一个横杠标记出现,这种格式的yaml数据会在python中被转为列表中括号包括起来的字典,代码示例如下所示:
# yamlchildren: - name: Jimmy Smith   age: 15 - name1: Jenny Smith   age1: 12# python{'children': [{'name': 'Jimmy Smith', 'age': 15}, {'name1': 'Jenny Smith', 'age1': 12}]}(3)最后还有一种情况就是在yaml中使用了三个横杠来占用一行,那么它表示的实际意思就是划分数据,该行代码上下会被分为两个文档 。再转为python类型时则会分为多个字典对象,详细代码示例如下所示:
# yamlname: Jamesage: 20---name: Lilyage: 19# pythony = yaml.load_all(f)for data in y:    print(data){'name': 'James', 'age': 20}{'name': 'Lily', 'age': 19}【Python解析yaml文件怎么做?如何将yaml文件数据转为Python类型】以上就是关于“Python解析yaml文件怎么做?如何将yaml文件数据转为Python类型”的全部内容了,希望对你有所帮助 。

    推荐阅读