python 配置文件__ConfigParser
基础读取配置文件
- -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的更多相关文章
- Python配置文件实现
实现目标: 支持配置文件继承 支持本地配置文件 支持配置文件别名 简单的配置文件操作 最新的代码可以参考 https://github.com/blackmatrix7/matrix-toolkit/ ...
- python配置文件的加载
背景: 微信机器人项目用到了mysql数据库配置,阿里云OSS上传文件配置:现在需要将这些配置参数统一写到一个配置文件中统一管理,而不是分散的写在代码中 1. 使用.ini文件作为配置文件 例如: s ...
- python配置文件转dict
配置文件有很多种,如JSON,properties,conf,xml等. 除非需要跟别的语言进行交互,python本身是完全可以取代所有配置文件的.使用python进行配置可以使用非常灵活地执行一些逻 ...
- python配置文件读取
在代码实现的过程中,我们经常选择将一些固定的参数值写入到一个单独的配置文件中.在python中读取配置文件官方提供了configParser方法. 主要有如下方法(找官文): (这家伙很懒,直接复 ...
- python 配置文件 ConfigParser模块
ConfigParser模块 用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser. 来看一个好多软件的常见文档格式如下 [DEFAULT] Se ...
- python配置文件
python有两种配置文件,file.ini和file.json 一.ini文件如下: db_config.ini [baseconf] host=127.0.0.1 port=3306 user=r ...
- python配置文件configparser详解
Python中一般需要配置文件,配置文件一般以.cfg, .conf, .ini结尾.配置文件可以将数据库抽离到以 .ini(Windows)结尾的文件中,这样做的优点在于可在配置文件中添加多个数据库 ...
- python:配置文件configparser
#-*- coding:utf8 -*- # Auth:fulimei import configparser #第一个标签 conf=configparser.ConfigParser() conf ...
- python 配置文件返回的两种方式,写法不一样而已
配置文件如下: [MODE]mode:{ "register":"all"} 或者 mode = {"register":"all ...
随机推荐
- DB(1):SQLAPI catch [Bind variable/parameter 'pay_acc_id' not found] !!!
SQLAPI catch [Bind variable/parameter 'pay_acc_id' not found] !!! 出现这种报错,先检查命令类后面的参数是否混淆(SACommand s ...
- Linux下的sudo及配置
sudo的常用命令 man sudoers # 参阅帮助 visudo # 编辑sudoers文件的命令 sudo -l # 查看可执行或禁止执行的命令 sudo -u user1 /bin/ls # ...
- Java IO系列之二:NIO基本操作
核心部分 NIO( New Input/ Output) , 引入了一种基于通道和缓冲区的 I/O 方式,NIO 是一种同步非阻塞的 IO 模型.同步是指线程不断轮询 IO 事件是否就绪,非阻塞是指 ...
- 使用fork的str_cli函数
void str_cli(FILE *fp, int sockfd) { pid_t pid; char sendline[MAXLINE], recvline[MAXLINE]; ) { /* ch ...
- (Python2)自动对话机器人 代码
dict = { 'hello': 'hello'}flag = 'c'work = Trueprint 'hi,my name is python.'print 'do you want chat ...
- element-ui多选框模糊搜索输入文字闪动问题
.el-select__tags { .el-select__input { width: 50px !important; } } 添加这段代码即可 <el-select v-model=&q ...
- 在页面加载前先出现加载loading,页面加载完成之后再显示页面
在此加入一个关于页面加载成功之前先展现一个loading的案例: 如下代码写入js里放在html头部即可实现需求:添加的可以自己在css文件设置宽高,也可以放入一个background的gif的loa ...
- [经验交流] 试用基于 influxdb+kapacitor 的监控系统
2017年10月16日: 使用中发现kapacitor的ui过于简单,不能满足实际工作需要,现已切换到grafana --------- 两个月前试用了基于 elasticsearch + xpack ...
- Qt for Android开发总结
近段时间,本人使用Qt5.3.0开发了Android应用,由于官方资料较少,在此记录开发过程遇到的问题及解决方法 1.Android平台的视频播放,只能使用qml的MediaPlayer 2.qml中 ...
- recurrent model for visual attention
paper url: https://papers.nips.cc/paper/5542-recurrent-models-of-visual-attention.pdf year: 2014 abs ...