configparser模块是python自带的从文件中获取固定格式参数的模块,因为是python只带的,大家用的应该很多,我觉得这个参数模块比较灵活,添加参数、修改参数、读取参数等都有对应的参数供用户使用。因为本人看的都是接近自动化框架方面的,主要用读取参数,手动操作添加和修改参数也许更方便。

  configparser模块读取的参数应该是不限文档格式:*.ini、*.conf、*.*,但是内容格式要按照固定格式来进行填写:

  [section]

  key = value

 #路径参数
[path]
my_dir = D:\python\workspace\pythontest
log_path = %(my_dir)s\\log\\
img_path = %(my_dir)s\screenshot\
report_path = %(my_dir)s\\report\\ #邮箱参数
[email]
uesr =
password =
smtphost = smtp@.com
from = @.com
to = wadsad@qq.com #日志参数
[log]
logtime = #测试参数
[main]
ip = 109.132.19.7
port =
url = http://%(ip)s:%(port)s/tes

  封装后的代码:

 #coding:utf-8
import ConfigParser
import os class ReadConfig(object):
'''配置参数'''
def __init__(self):
'''
用法:
conf = ReadConfig()
confinfo = conf.getconf("url")
'''
#设置conf.ini路径
current_dir = os.path.dirname(__file__)
top_one_dir = os.path.dirname(current_dir)
file_name = top_one_dir + "\\conf\\conf.ini"
#实例化ConfigParser对象
self.config = ConfigParser.ConfigParser()
self.config.read(file_name) def getconf(self, keyname):
num = len( self.config.sections() )
i = 0
print("num = ",num)
#根据sections的数量进行循环查找keyname是否存在
while i < num :
# 每次循环获取对应list中的section
section = self.config.sections()[i]
#如果keyname存在section中,则输出其参数值
if keyname in self.config.options(section):
pass
print("num --> ",i)
print("section --->",section)
print("keyname ---> ", keyname)
self.info = self.config.get(section, keyname)
break
else :
i = i + 1
else :
print("ReadConfig()没有找到config文件对应的key")
return self.info if __name__ == "__main__":
conf = ReadConfig()
confinfo = conf.getconf("url")
print("config --- >",confinfo)

  一开始本想通过section值获取对应的key以及value,但是试了很多次都不成功。原设想:

     conf = ReadConfig()
    confinfo = conf.getconf("main").url

  main为section,url为key。

  但是这种通过key获取参数value的方法也可以实现我的目的。

     conf = ReadConfig()
    confinfo = conf.getconf("url")

  url为key

运行结果:

  ini文件存放在pythontest/conf下

  封装后的py文件存放在pythontest/commlib下

python封装configparser模块获取conf.ini值的更多相关文章

  1. python封装configparser模块获取conf.ini值(优化版)

    昨天晚上封装了configparser模块,是根据keyname获取的value.python封装configparser模块获取conf.ini值 我原本是想通过config.ini文件中的sect ...

  2. python中configparser模块读取ini文件

    python中configparser模块读取ini文件 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(se ...

  3. Python使用ConfigParser模块读取配置文件(config.ini)以及写入配置文件

    前言 使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是configParser.configPars ...

  4. python中confIgparser模块学习

    python中configparser模块学习 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section ...

  5. Python中ConfigParser模块应用

    Python中ConfigParser模块应用 Python的ConfigParser模块定义了3个对INI文件进行操作的类 RawConfigParser.ConfigParser和SafeConf ...

  6. python 的ConfigParser模块

    Python 之ConfigParser模块 一.ConfigParser简介 ConfigParser 是用来读取配置文件的包.配置文件的格式如下:中括号“[ ]”内包含的为section.sect ...

  7. python使用wmi模块获取windows下的系统信息监控系统-乾颐堂

    Python用WMI模块获取Windows系统的硬件信息:硬盘分区.使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位置,系统的版本等信息. 本文实例讲述了python使用wmi模块获取w ...

  8. Python自动化测试 -ConfigParser模块读写配置文件

    C#之所以容易让人感兴趣,是因为安装完Visual Studio, 就可以很简单的直接写程序了,不需要做如何配置. 对新手来说,这是非常好的“初体验”, 会激发初学者的自信和兴趣. 而有些语言的开发环 ...

  9. python中configparser模块记录

    python中用来读取配置文件,配置文件的格式相同于windows下的ini配置文件 一.常用函数 read(filename) #读取配置文件,直接读取ini文件内容 sections() #获取i ...

随机推荐

  1. “理了么”软件特点NABCD个人分析

    在这里我就主要对此软件的‘A’(做法)和‘B’(好处)两方面进行分析. “A”:我们的软件为顾客和商家分别提供一种账户,分别登陆后会显示不同的界面. 1.用户界面:拥有“理发店”.“订单“.”和“我的 ...

  2. LinkedHashMap基本原理和用法&使用实现简单缓存(转)

    一. 基本用法LinkedHashMap是HashMap的子类,但是内部还有一个双向链表维护键值对的顺序,每个键值对既位于哈希表中,也位于双向链表中.LinkedHashMap支持两种顺序插入顺序 . ...

  3. POJ 2411 Mondriaan's Dream -- 状压DP

    题目:Mondriaan's Dream 链接:http://poj.org/problem?id=2411 题意:用 1*2 的瓷砖去填 n*m 的地板,问有多少种填法. 思路: 很久很久以前便做过 ...

  4. 【学亮编程手记】Spring Cloud三大组件Eureka/Feign/Histrix的原理及使用

  5. How To Configure NetScaler AppFlow for SolarWinds

    How To Configure NetScaler AppFlow for SolarWinds 来源  https://support.citrix.com/article/CTX227300 A ...

  6. js手机滑块模仿

    点击文本框滑动选值 手机屏幕上的上下翻滚菜单使用JS实现.经过十几个小时的折磨,终于有了最初版本.实现办法如下描述: 一.要求和方法 1.一个input输入框,点击后弹出一个翻滚菜单盖在其上,翻滚选好 ...

  7. .Net Core实践4 web 反向代理

    目标 将控制台程序改成web程序,通过IIS反向代理,处理请求 环境 win10 / .net core 2.1 / centos7 变成web程序 1.在新建的asp.net core控制台程序中添 ...

  8. MySQL表与表之间的关系

    表与表之间的关系 表1 foreign key 表2 则表1的多条记录对应表2的一条记录,即多对一 利用foreign key的原理我们可以制作两张表的多对多,一对一关系 多对多: 表1的多条记录可以 ...

  9. opencv + cuda编译

    #获取最新代码git clone "https://github.com/opencv/opencv.git" #build目录mkdir buildcd build #使用ccm ...

  10. Java基础 -- 深入理解Java类型信息(Class对象)与反射机制

    一 RTTI概念 认识Claa对象之前,先来了解一个概念,RTTI(Run-Time Type Identification)运行时类型识别,对于这个词一直是 C++ 中的概念,至于Java中出现RT ...