基础读取配置文件

  • -read(filename)               直接读取文件内容
  • -sections()                      得到所有的section,并以列表的形式返回
  • -options(section)            得到该section的所有option
  • -items(section)                得到该section的所有键值对
  • -get(section,option)        得到section中option的值,返回为string类型
  • -getint(section,option)    得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。

具体详见文章:https://www.cnblogs.com/feeland/p/4514771.html

do_config.py

# -*- conding:utr- -*-
#@Time :// :
#@Author:GYP测试
#@File :do_config.py import configparser
class ReadConfig:
def read_config(self,file_name,section,option):
cf=configparser.ConfigParser()
cf.read('case.config',encoding='utf-8')#打开文件
return cf.get(section,option)
if __name__ == '__main__':
res=ReadConfig().read_config('case.config','MODE','mode')
print(res) # #读取配置文件的数据
#
# print(cf.sections())
# print(cf.items('PYTHON'))
#
#
# res_1=cf.get('MODE','mode')
# print(res_1)
# res_2=cf['LEMON']['boss']
# print(res_2)
#
# #数据类型讨论的问题
# #--------都是字符串--------数据类型转换 eval()
# print(type(cf.get('PYTHON','num')))

case.config

---------------------------------------------------------------------------------------------------------------------

[MODE]

mode=[1,3]

[PYTHON]

num=89
name=小郭 [LEMON] num=33
age=18
boss=华华
--------------------------------------------------------------------
gyp1101.py
 # -*- conding:utr-8 -*-
#@Time :2018/11/2 15:25
#@Author:GYP测试
#@File :gyp1101.py
from openpyxl import load_workbook
from class_1103.do_config import ReadConfig
class datedd:
def __init__(self,file_name,sheet_name):
self.file_name=file_name
self.sheet_name=sheet_name
def get_header(self):
wb = load_workbook(self.file_name)
sheet = wb[self.sheet_name]
header=[]
for i in range(1,sheet.max_column+1):
header.append(sheet.cell(1,i).value)
# print(header)
return header def get_data(self):
'''mode:控制是否执行所有的用例 默认值为all 为all就执行的用例
如果不等于all的话 就进入分值 判断
mode的值 只能输入 all 列表 这两种类型的参数'''
mode=ReadConfig().read_config('case.config','MODE','mode') wb=load_workbook(self.file_name)
sheet=wb[self.sheet_name]
header=self.get_header()
test_data=[]
for i in range(2,sheet.max_row+1):
sub_data={}
for j in range(1,sheet.max_column+1):
sub_data[header[j-1]]=sheet.cell(i,j).value
test_data.append(sub_data)
#根据mode值去进行判断
if mode=='all':#执行所有用例
final_data=test_data
else:
final_data=[]
for item in test_data:
if item['case_id'] in eval(mode):
final_data.append(item)
print(final_data)
return final_data
if __name__ == '__main__':
datedd('xg.xlsx','python1').get_data()
# datedd('xg.xlsx','python1').get_header()

通过配置文件可以修改具体 执行那些用例

python 配置文件__ConfigParser的更多相关文章

  1. Python配置文件实现

    实现目标: 支持配置文件继承 支持本地配置文件 支持配置文件别名 简单的配置文件操作 最新的代码可以参考 https://github.com/blackmatrix7/matrix-toolkit/ ...

  2. python配置文件的加载

    背景: 微信机器人项目用到了mysql数据库配置,阿里云OSS上传文件配置:现在需要将这些配置参数统一写到一个配置文件中统一管理,而不是分散的写在代码中 1. 使用.ini文件作为配置文件 例如: s ...

  3. python配置文件转dict

    配置文件有很多种,如JSON,properties,conf,xml等. 除非需要跟别的语言进行交互,python本身是完全可以取代所有配置文件的.使用python进行配置可以使用非常灵活地执行一些逻 ...

  4. python配置文件读取

    在代码实现的过程中,我们经常选择将一些固定的参数值写入到一个单独的配置文件中.在python中读取配置文件官方提供了configParser方法. 主要有如下方法(找官文):   (这家伙很懒,直接复 ...

  5. python 配置文件 ConfigParser模块

    ConfigParser模块 用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser. 来看一个好多软件的常见文档格式如下 [DEFAULT] Se ...

  6. python配置文件

    python有两种配置文件,file.ini和file.json 一.ini文件如下: db_config.ini [baseconf] host=127.0.0.1 port=3306 user=r ...

  7. python配置文件configparser详解

    Python中一般需要配置文件,配置文件一般以.cfg, .conf, .ini结尾.配置文件可以将数据库抽离到以 .ini(Windows)结尾的文件中,这样做的优点在于可在配置文件中添加多个数据库 ...

  8. python:配置文件configparser

    #-*- coding:utf8 -*- # Auth:fulimei import configparser #第一个标签 conf=configparser.ConfigParser() conf ...

  9. python 配置文件返回的两种方式,写法不一样而已

    配置文件如下: [MODE]mode:{ "register":"all"} 或者 mode = {"register":"all ...

随机推荐

  1. SpringMVC配置与使用

    一.MVC概要 MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范,用一种将业务逻辑.数据.显示分离的方法组织代码,MVC主要作用是降低了视图与业务 ...

  2. Linux系统下rm删除文件后空间没有释放问题解决办法

    一.问题描述 今日收到zabbix监控报警,发现生产环境一台服务器的磁盘空间不足,需要进行处理,登录后发现可利用率不足20%,进行相关查看和处理工作:但是操作删除了一些备份文件和日志信息后,查看空间仍 ...

  3. JavaEESpringMVC基础整理

    1.什么是 SpringMVC ? 在介绍什么是 SpringMVC 之前,我们先看看 Spring 的基本架构.如下图: 我们可以看到,在 Spring 的基本架构中,红色圈起来的 Spring W ...

  4. linux搭建FastDFS文件服务器

    本文主要介绍在linux服务器如何搭建FastDFS文件服务器.大概分为9个步骤,由于内容较为繁琐.下面带你入坑! 首先简单介绍一下FastDFS是淘宝资深架构师余庆老师主导开源的一个分布式文件系统, ...

  5. js 时间格式化 兼容safari 苹果手机

    export function formatTime (fmt, date) { date = new Date(date + '+08:00') // 兼容safari var o = { 'M+' ...

  6. java ,用公司框架写的显示列表 Table控件

    <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org" lan ...

  7. 一道Python面试题:给出d = [True, False, True, False, True],请利用列表d,只用一句话返回列表[0,2,4]

    看题:给出d = [True, False, True, False, True],请利用列表d,只用一句话返回列表[0,2,4] 这道题的关键是拿到True的索引值,最初我是用list的index方 ...

  8. 2.安装以太坊客户端(mac os)

    今天讲解在 mac系统下如何安装以太坊平台( Ethereum client) 1.以太坊客户端的介绍 从项目早期,为了适应不同系列的开发语言和操作系统,以太坊的团队就实现过很多客户端.如下面我们看到 ...

  9. Python爬虫从入门到进阶(2)之urllib库的使用

    1.什么是Urllib(官网地址:https://docs.python.org/3/library/urllib.html#module-urllib) Urllib是python内置的HTTP请求 ...

  10. Linux apache的运行用户和用户组

    我们在安装apache后,有时在上传文件的时候,提示没有权限或者是不可写,我们都会去查文件夹的权限. 通过ls -l /var/www/html/website可以很直观的看出我们文件和文件夹的权限, ...