---  好的方法很多,我们先掌握一种  ---

【背景】

这里描述的配置文件为自动化用例中使用到的信息,非pytest自动化框架中例如pytest.ini, conftest.py等具有特殊意义的配置文件。

测试过程中一些固定的参数,例如:环境信息,用户密码等。我们可以存放在一个文件中,进行统一的维护管理,在用例中进行调用。

【方法】

对于配置文件的设计和获取有很多方法(yaml,json等等),这次我们说一个简单的,利用Python的configparser。

它是 Pyhton 标准库中用来解析配置文件的模块,它提供了方便的方法来解析配置文件并提取特定的配置项值,注意需要区分大小写。

配置文件由section和items 这2部分组成,对文件本身类型没有限制,满足类字典(键和值对应)类型就可以:

  section是相当于标签,用于区分不同的配置块。

  items是section下面的键和值。

配置文件的设计:

# 用户信息配置
[user_msg]
name = zhangsan
passwd = 123 # 安装信息配置
[install]
install_dir = /home/test/install_path

【使用】  

1. 内置模块导入和实例化

configparser属于内置模块,直接import就行,然后进行实例化

import configparser
conf = configparser.ConfigParser()
# 或者如下方式导入
from configparser import ConfigParser
conf = ConfigParser()

2. 先读取配置文件,然后获取配置项的值

config_path = '这里指定配置文件的路径'
# config_path = os.path.join(os.path.dirname(__file__),'config_file')
conf.read(config_path) # 取得配置文件中的信息
name = conf.get('user_msg','name') #获取用户信息中的name姓名
print(name)

【其他常用方法】

基于上面的示例conf

conf.section()  # 获取所有section,以列表形式返回(注意:不收集DEFAULT这个标签)

conf.add_section('new_section')  # 添加一个新标签,重名将报错

conf.has_section('section')  # 判断是否存在这个标签,如果存在返回True

conf.option('section') # 获取该section下的所有option,如果存在DEFAULT标签,会将它下面的option一起返回,只有名没有值

conf.has_option('section','option') # 判断某个section下是否存在指定的option,找不到自己的会到DEFAULT下找

conf.set(section,option,value) # 如果section和option都存在,则将对应的option值重设为value

【结尾】

配置文件如果作为自动化框架中用户的固定信息统一维护管理,一般通过get去获取信息情况较多。

当然configparser还有高阶方法,例如:实例化的设置,高级定制,需要更深入学习的小伙伴可查阅对应模块手册。

 

五分钟掌握Python中配置文件解析器configparser的使用的更多相关文章

  1. Python中配置文件解析模块-ConfigParser

    Python中有ConfigParser类,可以很方便的从配置文件中读取数据(如DB的配置,路径的配置).配置文件的格式是: []包含的叫section, section 下有option=value ...

  2. Python模块:配置文件解析器configparser

    版权声明:本文为博主皮皮http://blog.csdn.net/pipisorry原创文章,未经博主同意不得转载. https://blog.csdn.net/pipisorry/article/d ...

  3. python接口自动化测试 - configparser配置文件解析器详细使用

    configparser简介 ConfigParser模块已在Python 3中重命名为configparser 该模块定义了ConfigParser类. ConfigParser类实现一种基本的配置 ...

  4. 五分钟学会Python装饰器,看完面试不再慌

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题的第12篇文章,我们来看看Python装饰器. 一段囧事 差不多五年前面试的时候,我就领教过它的重要性.那时候我Pyt ...

  5. python中html解析-Beautiful Soup

    1. Beautiful Soup的简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.pyt ...

  6. parseConf(配置文件解析器)

    /****************************************************************************** * * parseConf(配置文件解析 ...

  7. golang开发:类库篇(四)配置文件解析器goconfig的使用

    为什么要使用goconfig解析配置文件 目前各语言框架对配置文件书写基本都差不多,基本都是首先配置一些基础变量,基本变量里面有环境的配置,然后通过环境变量去获取该环境下的变量.例如,生产环境跟测试环 ...

  8. python中@property装饰器的使用

    目录 python中@property装饰器的使用 1.引出问题 2.初步改善 3.使用@property 4.解析@property 5.总结 python中@property装饰器的使用 1.引出 ...

  9. WCF中配置文件解析

    WCF中配置文件解析[1] 2014-06-14 WCF中配置文件解析 参考 WCF中配置文件解析 返回 在WCF Service Configuration Editor的使用中,我们通过配置工具自 ...

  10. 简单说明Python中的装饰器的用法

    简单说明Python中的装饰器的用法 这篇文章主要简单说明了Python中的装饰器的用法,装饰器在Python的进阶学习中非常重要,示例代码基于Python2.x,需要的朋友可以参考下   装饰器对与 ...

随机推荐

  1. AT Educational DP Contest

    https://atcoder.jp/contests/dp J - Sushi 设 \(f[i,j,k]\) 表示有 \(1/2/3\) 个寿司的盘子有 \(i/j/k\) 个 考虑随机到哪种盘子列 ...

  2. fs4412 I2C驱动基于Cortex-A9,mpu6050裸机程序,驱动,I2C架构,有这一篇够了

    本文基于三星Cortex-A9架构,Exynos4412讲解I2C原理.以及基于I2C的mpu6050陀螺仪的数据读取实例(包括在裸机模式下数据的读取以及基于Linux驱动的读取).还会分析Linux ...

  3. Win32 插入符光标跟随的打字小程序

    1.先创建插入符光标 在WM_CREATE消息中 LRESULT OnCreate(HWND hWnd, WPARAM wParam, LPARAM lParam) { HDC hdc = GetDC ...

  4. 掌握Java面向对象OOP篇(一)

    掌握面向对象OOP篇(一) 边学边记 -- OOP(Object Orientated Programing) 1. 为什么要引入面向对象? 原因:封装.继承.多态 举个例子理解面向对象代码的好处: ...

  5. Linux内核及补丁编译

    Linux内核及补丁编译 一.源码下载 1.查看当前linux内核版本 uname -r 2.获取对应版本的linux源码 方式1:源方式下载 sudo apt search linux-source ...

  6. Linux基础优化与常用软件包说明

    1.安装常用工具 1.1CentOS(7) 1.1.1 是否联网 ping qq.com 1.1.2 配置yum源(安装软件的软件仓库) 默认情况下yum下载软件的时候是从随机地址下载. 配置yum从 ...

  7. 组合逻辑环(Combinational Logic Loop)

    组合逻辑电路 组合逻辑电路是数字电子学中一类基本的电路类型,它由一系列逻辑门组成,用于实现特定的逻辑功能.与时序逻辑电路不同,组合逻辑电路的输出完全取决于当前的输入信号,而不受之前输入的影响.换句话说 ...

  8. CMake构建学习笔记8-OpenSceneGraph库的构建

    1. 概论 在连续构建了zlib.libpng.libjpeg.libtiff.giflib以及freetype这几个库之后,接下来我们就要来一个大的,构建OpenSceneGraph这样大型库.Op ...

  9. Openstack-dashboard默认配额

    创建实例不超过10个 方法一 修改配置文件 在使用openstack的过程中,默认创建的实例最多10个,这是因为配额默认实例就是10 所以我们需要修改配置文件/etc/nova/nova.conf中的 ...

  10. echarts实现pie自定义标签

    echarts实现pie自定义标签 一.环境 vue + echarts 实现饼图的自定义标签 二.实现效果 三.实现方式 import * as echarts from 'echarts'; ex ...