基于Python和PyYAML读取yaml配置文件数据
一、首先我们需要安装 PyYAML 第三方库
直接使用 pip install PyYAML 就可以(这里我之前是装过的,所以提示我PyYAML已经在这个目录下了,是5.1.2版本的)
二、先看一下我的yaml配置文件中数据的格式
特点:
1.大小写敏感
2.使用缩进表示层级关系
3.缩进的时候使用的是空格,不是tab键(因为在写python脚本的时候可能会习惯用tab键进行缩进,这里的缩进只能使用空格。只要同层级的对齐,空一格或者空两格都是没有关系的)
4.#号表示注释
(这不就是python代码的基本语法嘛!)
三、读取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解析yaml文件过程详解
YAML语法规则: http://www.ibm.com/developerworks/cn/xml/x-cn-yamlintro/ 下载PyYAML: http://www.yaml.org/ 解压安装: python setup.py install 1.新建test.yaml文件,内容如下: name: Tom Smith age: 37 spouse: name: Jane Smith age: 25 children: - name: Jimmy Smith age: 15 - nam
-
Python集中化管理平台Ansible介绍与YAML简介
本文实例讲述了Python集中化管理平台Ansible介绍与YAML.分享给大家供大家参考,具体如下: 一 中文社区 http://ansible.cn/forum.php 二 点睛 Ansible(http://www.ansibleworks.com/)一种集成IT系统的配置管理.应用部署.执行特定任务的开源平台,是AnsibleWorks公司名下的项目,该公司由Cobbler及Func的作者于2012年创建成立.Ansible基于Python语言实现,由Paramiko和PyYAML两个关
-
python wxpython 实现界面跳转功能
用wxpython设计界面时可能会出现界面嵌套的情况 这样就需要进行界面的跳转 但是貌似wxpython没提供界面跳转的方式(也可能是我菜...) 所以就需要借助threading模块 主要思想: 注:该代码为源码的一部分,经过删减可能会导致程序错误,但 主要是通过一个按钮进行跳转,在点击该按钮时关闭当前界面,打开新界面.. 主要函数doClose 按钮触发的函数QU import wx import pymysql,time,threading from MySQL import Make_
-
python中yaml配置文件模块的使用详解
简述 和GNU一样,YAML是一个递归着说"不"的名字.不同的是,GNU对UNIX说不,YAML说不的对象是XML. YAML不是XML. 为什么不是XML呢?因为: YAML的可读性好. YAML和脚本语言的交互性好. YAML使用实现语言的数据类型. YAML有一个一致的信息模型. YAML易于实现. 上面5条也就是XML不足的地方.同时,YAML也有XML的下列优点: YAML可以基于流来处理: YAML表达能力强,扩展性好. 总之,YAML试图用一种比XML更敏捷的方式,来完成
-
python+logging+yaml实现日志分割
本文实例为大家分享了python+logging+yaml实现日志分割的具体代码,供大家参考,具体内容如下 1.建立log.yaml文件 version: 1 disable_existing_loggers: False formatters: simple: format: "%(asctime)s - %(filename)s - %(levelname)s - %(message)s" datefmt: '%F %T' handlers: console: class: log
-
Python读取YAML文件过程详解
这篇文章主要介绍了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(con
-
python飞机大战pygame碰撞检测实现方法分析
本文实例讲述了python飞机大战pygame碰撞检测实现方法.分享给大家供大家参考,具体如下: 目标 了解碰撞检测方法 碰撞实现 01. 了解碰撞检测方法 pygame 提供了 两个非常方便 的方法可以实现碰撞检测: pygame.sprite.groupcollide() 两个精灵组 中 所有的精灵 的碰撞检测 groupcollide(group1, group2, dokill1, dokill2, collided = None) -> Sprite_dict 如果将 dokill 设
-
python中的线程threading.Thread()使用详解
1. 线程的概念: 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成.另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源. 2. threading.thread()的简单使用 2.1 python的thread模块是比较底层的模块,python的t
-
详解Python读取yaml文件多层菜单
需要用到的Python知识点 Python的对象属性方法: 用到字典{key:value}值的提取: 列表的增加: if循环结合break的使用: yaml文件读取: 代码如下: #!/usr/bin/python34 import sys,os,re,yaml,time #reload(sys) #sys.setdefaultencoding('utf-8') ######################对input输入字符类型判断并转化##################### def in
-
基于Python和PyYAML读取yaml配置文件数据
一.首先我们需要安装 PyYAML 第三方库 直接使用 pip install PyYAML 就可以(这里我之前是装过的,所以提示我PyYAML已经在这个目录下了,是5.1.2版本的) 二.先看一下我的yaml配置文件中数据的格式 特点: 1.大小写敏感 2.使用缩进表示层级关系 3.缩进的时候使用的是空格,不是tab键(因为在写python脚本的时候可能会习惯用tab键进行缩进,这里的缩进只能使用空格.只要同层级的对齐,空一格或者空两格都是没有关系的) 4.#号表示注释 (这不就是python
-
Python接口自动化浅析yaml配置文件原理及用法
目录 一.yaml介绍及使用 01 yaml简介 02 yaml语法规则 03 yaml数据结构 对象 数组 纯量 二.yaml配置文件的使用 01 yaml配置文件准备 02 yaml配置文件格式校验 三.yaml配置文件读写 01 安装pyYaml 02 yaml模块源码解析 load: dump: 03 读写yaml配置文件 在上一篇Python接口自动化测试系列文章:Python接口自动化浅析数据驱动原理,主要介绍openpyxl操作excel,结合ddt实现数据驱动. 在自动化过程中,
-
Go语言读取YAML 配置文件的两种方式分享
目录 前言 yaml.v3 包 读取 yaml 文件 viper 包 读取 yaml 文件 小结 前言 在日常开发中,YAML 格式的文件基本上被默认为是配置文件,其内容因为缩进带来的层级感看起来非常直观和整洁.本文将会对 YAML 内容的读取进行介绍. yaml.v3 包 yaml.v3 的包,可以让我们在 Go 里面轻松地操作 yaml 格式的数据(如将 yaml 格式转成结构体等).在使用 yaml.v3 包之前,我们需要先安装它: go get gopkg.in/yaml.v3 读取 y
-
python从sqlite读取并显示数据的方法
本文实例讲述了python从sqlite读取并显示数据的方法.分享给大家供大家参考.具体实现方法如下: import cgi, os, sys import sqlite3 as db conn = db.connect('test.db') cursor = conn.cursor() conn.row_factory = db.Row cursor.execute("select * from person") rows = cursor.fetchall() sys.stdout
-
SPRINGBOOT读取PROPERTIES配置文件数据过程详解
这篇文章主要介绍了SPRINGBOOT读取PROPERTIES配置文件数据过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.使用@ConfigurationProperties来读取 1.Coffer entity @Configuration @ConfigurationProperties(prefix = "coffer") @PropertySource("classpath:config/coffer.p
-
Python使用configparser读取ini配置文件
我们在操作 ini 配置文件的时候 可以使用 Python 的 configparser 库 具体使用方法如下: from configparser import ConfigParser # 初始化 cf = ConfigParser() # 加载文件 cf.read('ini.ini') # 读取 user 节点下所有数据 all = cf.items('user') print(all) # 读取 user 节点下 name 的值 name = cf.get('user', 'name')
-
基于python连接oracle导并出数据文件
python连接oracle,感觉table_list文件内的表名,来卸载数据文件 主脚本: import os import logging import sys import configparser import subprocess import cx_Oracle #判断输入参数个数 class param(): def check_para(self): if len(sys.argv) != 1: print("请输入正确的参数:yyyymmdd") exit(1) el
-
基于Python爬取fofa网页端数据过程解析
FOFA-网络空间安全搜索引擎是网络空间资产检索系统(FOFA)是世界上数据覆盖更完整的IT设备搜索引擎,拥有全球联网IT设备更全的DNA信息.探索全球互联网的资产信息,进行资产及漏洞影响范围分析.应用分布统计.应用流行度态势感知等. 安装环境: pip install requests pip install lxml pip install fire 使用命令: python fofa.py -s=title="你的关键字" -o="结果输出文件" -c=&qu
-
Python使用pyyaml模块处理yaml数据
pyyaml模块在python中用于处理yaml格式数据,主要使用yaml.safe_dump().yaml.safe_load()函数将python值和yaml格式数据相互转换.当然也存在yaml.dump().yaml.load()函数,同样能实现数据转换功能,只是官方不太推荐使用.官方给出的解释,因为yaml.safe_dump().yaml.safe_load() 能够: Resolve only basic YAML tags. This is known to be safe for
-
基于python读取图像的几种方式汇总
目录 本文介绍几种基于python的图像读取方式: 基于PIL库的图像读取.保存和显示 基于matplotlib的图像读取.显示和保存 基于scikit-image的图像读取.保存和显示 基于imageio的图像读取.显示和保存 总结 本文介绍几种基于python的图像读取方式: 基于PIL库的图像读取.保存和显示 基于opencv-python的图像读取.保存和显示 基于matplotlib的图像读取.保存和显示 基于scikit-image的图像读取.保存和显示 基于imageio的图像读取
随机推荐
- 原生JavaScript编写canvas版的连连看游戏
- javascript break指定标签打破多层循环示例
- 谈谈为何iOS开发别用宏来定义常量
- JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
- MySQL笔记之别名的使用
- nodejs 搭建简易服务器的图文教程(推荐)
- Quoted-printable 编码介绍、Quoted-printable编码解码转换方法
- sql编程的几个常识
- C# Oracle数据库操作类实例详解
- C#窗体读取EXCEL并存入SQL数据库的方法
- Tab页界面 用jQuery及Ajax技术实现(php后台)
- 轻松掌握python设计模式之访问者模式
- C++实现的打字母游戏示例
- JS实现非首屏图片延迟加载的示例
- javascript正则表达式学习之位置匹配
- VMware下Centos7桥接方式网络配置步骤详解
- Django REST framework 视图和路由详解
- Python requests发送post请求的一些疑点
- shell 命令统计代码行数的简单代码
- django 发送邮件和缓存的实现代码