Python读取YAML文件过程详解

yipeiwu_com6年前Python基础

这篇文章主要介绍了Python读取YAML文件过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

YAML语法 学习手册

Python读取方法:

import yaml
with open('demo1.yaml', 'r', encoding='utf-8') as f:
  file_content = f.read()
content = yaml.load(file_content, yaml.FullLoader)
print(content)

demo1.yaml

- 123             # int
- 3.14            # float
- true            # bool,不区分大小写
- False            # bool
- string           # 字符串
- ''             # 空字符串
- ~              # ~代表 null,Python中的 None
-               # 同上
- 2019-12-12         # date
- 2019-12-12T14:59:59+08:00  # datetime
- name: Miles         # dict
 age: 22

使用以上方法后的结果是一个列表,手动换行了方便阅读:

[
 123,
 3.14,
 True,
 False,
 'string',
 '',
 None,
 None,
 datetime.date(2019, 12, 12),
 datetime.datetime(2019, 12, 12, 6, 59, 59),
 {'name': 'Miles', 'age': 22}
]

demo2.yaml

name: Miles
age: 18
single: true
dream: ~
lucky number:
 - 8
 - 9
 - 12

这种形式经过方法读取是一个字典:

{
 'name': 'Miles',
 'age': 18,
 'single': True,
 'dream': None,
 'lucky number':[8, 9, 12]
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python浮点数四舍五入问题的分析与解决方法

Python浮点数四舍五入问题的分析与解决方法

问题 昨天遇到一个问题,在 6.6045 保留三位小数时,使用 round() 函数进行计算,我们希望得到 6.605,然而: >>> round(6.6045,...

python如何重载模块实例解析

本文首先介绍了Python中的模块的概念,谈到了一个模块往往由多个模块组成,然后通过具体实例,分析了模块重载的相关内容,具体介绍如下。 模块是Python程序架构的一个核心概念,较大的程...

解决Numpy中sum函数求和结果维度的问题

使用Numpy(下面简称np)中的sum函数对某一维度求和时,由于该维度会在求和后变成一个数,所以所得结果的这一维度为空。 比如下面的例子: a = np.array([[1,2,3...

简单介绍Python的Django框架的dj-scaffold项目

由于Django没有象rails一样指定项目的目录结构规范,很多人都对django项目的目录结构要如何组织而感到困惑。为此我又新创建了一个开源项目dj-scaffold(django的脚...

Python pycharm 同时加载多个项目的方法

Python pycharm 同时加载多个项目的方法

在pycharm中只能一个项目存在,想打开另一个项目只能建一个新窗口或者把当前窗口覆盖掉。 在pycharm中其实可以同时打开多个项目: 1、file->setting->p...