基于Python和PyYAML读取yaml配置文件数据


Posted in Python onJanuary 13, 2020

一、首先我们需要安装 PyYAML 第三方库

直接使用 pip install PyYAML 就可以(这里我之前是装过的,所以提示我PyYAML已经在这个目录下了,是5.1.2版本的)

基于Python和PyYAML读取yaml配置文件数据

二、先看一下我的yaml配置文件中数据的格式

特点:

1.大小写敏感

2.使用缩进表示层级关系

3.缩进的时候使用的是空格,不是tab键(因为在写python脚本的时候可能会习惯用tab键进行缩进,这里的缩进只能使用空格。只要同层级的对齐,空一格或者空两格都是没有关系的)

4.#号表示注释

(这不就是python代码的基本语法嘛!)

基于Python和PyYAML读取yaml配置文件数据

三、读取yaml文件的方法

基于Python和PyYAML读取yaml配置文件数据

注:这里我们在 import 的时候,导入的不是 PyYAML ,而是 yaml。

四、看一下输出结果:

res1= {'mysql': {'host': 'value_host', 'port': 'value_port', 'user': 'value_user', 'password': 'value_password', 'database': 'value_databass', 'use_unicode': 'value_use_unicode', 'charset': 'value_charset'}, 'url': {'url': 'value_url'}, 'data': {'phone': 'value_phone', 'pwd': 'value_pwd', 'memberId': 'value_memberId'}}
res1= value_url

可以看到读取后的 yaml 配置文件数据是以字典类型读取出来的,可以对照之前的 yaml 文件中数据存放的格式,就可以看出yaml文件为什么要严格控制缩进了。

Python 相关文章推荐
Python设计模式之观察者模式实例
Apr 26 Python
Python 内置函数complex详解
Oct 23 Python
Python构建XML树结构的方法示例
Jun 30 Python
python os.path模块常用方法实例详解
Sep 16 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
Nov 06 Python
python如何制作英文字典
Jun 25 Python
python启动应用程序和终止应用程序的方法
Jun 28 Python
python中bytes和str类型的区别
Oct 21 Python
Pycharm无法打开双击没反应的问题及解决方案
Aug 17 Python
python中用ggplot绘制画图实例讲解
Jan 26 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
Mar 04 Python
如何用 Python 子进程关闭 Excel 自动化中的弹窗
May 07 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
Jan 13 #Python
利用python实现.dcm格式图像转为.jpg格式
Jan 13 #Python
如何基于Python + requests实现发送HTTP请求
Jan 13 #Python
python+tifffile之tiff文件读写方式
Jan 13 #Python
python读取tif图片时保留其16bit的编码格式实例
Jan 13 #Python
手动安装python3.6的操作过程详解
Jan 13 #Python
Python中join()函数多种操作代码实例
Jan 13 #Python
You might like
php 编写安全的代码时容易犯的错误小结
2010/05/20 PHP
php curl选项列表(超详细)
2013/07/01 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
2014/09/22 PHP
PHP中的流(streams)浅析
2015/07/02 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
yii使用bootstrap分页样式的实例
2017/01/17 PHP
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
探索Emberjs制作一个简单的Todo应用
2012/11/07 Javascript
jquery 通过name快速取值示例
2014/01/24 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
js实现匹配时换色的输入提示特效代码
2015/08/17 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
Bootstrap下拉菜单效果实例代码分享
2016/06/30 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
微信小程序页面间通信的5种方式
2017/03/31 Javascript
基于iScroll实现下拉刷新和上滑加载效果
2017/07/18 Javascript
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
2019/05/20 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
python实现博客文章爬虫示例
2014/02/26 Python
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2015/09/07 面试题
工作失误检讨书(3篇)
2014/10/11 职场文书
2014年调度员工作总结
2014/11/19 职场文书
务虚会发言材料
2014/12/25 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
民间借贷纠纷起诉书
2015/08/03 职场文书
selenium.webdriver中add_argument方法常用参数表
2021/04/08 Python
浅谈Python项目的服务器部署
2021/04/25 Python