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. Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用(转)

    原文地址:https://www.cnblogs.com/fashflying/p/6908028.html 从3.1开始,Spring引入了对Cache的支持.其使用方法和原理都类似于Spring对 ...

  2. 石家庄地铁系统开发(java web版)(一)

    今天所完成的任务: 在Mysql数据库中创建了sjzsubstop表和sjzsubway表 sjzsubstop表用于录入所有站点名称和与之对应的stopid(作为主码) sjzsubway表用于录入 ...

  3. CSS 实现自动换行、强制换行、强制不换行的属性

    实现效果 1.自动换行: word-wrap:break-word; word-break:normal; 2.强制换行: word-break:break-all;       按字符截断换行 /* ...

  4. js作用域零碎的知识点,不同的script块,虽然同是全局变量

    如下代码,第一次弹出a,因为解析器里找到var a,赋予a变量undefined,弹出undefined <!DOCTYPE html> <html> <head> ...

  5. 龙光集团地产跃居“中国房地产500强TOP28”

    3月20日,由中国房地产业协会.上海易居房地产研究院中国房地产测评中心联合主办的2019中国房地产500强测评成果发布会在北京成功举办.本次测评成果显示,龙光集团地产凭借综合实力,不仅成功跻身“中国房 ...

  6. Vs2015 当前不会命中断点,没有与此关联的可执行代码

    在学习Civil 3D本地化包程序的过程中, 使用.Net Reflector调试本地化包的主程序CountryKits.dll, .Net Reflector创建了相应的pdb文件等, 在我反编译并 ...

  7. 如何获得select被选中option的value和text

    如何获得select被选中option的value和text 一:JavaScript原生的方法 1:拿到select对象: var myselect=document.getElementById( ...

  8. [洛谷P1006] 传纸条

    双线程DP的常识:DP的阶段问题:多阶段决策问题 传送门:$>here<$ 题意 n*m的矩阵里,从左上角走到右下角(只能往右或往下),再从右下角走回左上角(只能往左或往上).其中不能重复 ...

  9. FixedThreadPool吞掉了异常

    为了方便遍描述问题,如下是简化后的 public class RunException { public static void main(String[] args) { ExecutorServi ...

  10. (链表 importance) leetcode 2. Add Two Numbers

    You are given two non-empty linked lists representing two non-negative integers. The digits are stor ...