python封装configparser模块获取conf.ini值,, configpa
python封装configparser模块获取conf.ini值,, configpa
configparser模块是python自带的从文件中获取固定格式参数的模块,因为是python只带的,大家用的应该很多,我觉得这个参数模块比较灵活,添加参数、修改参数、读取参数等都有对应的参数供用户使用。因为本人看的都是接近自动化框架方面的,主要用读取参数,手动操作添加和修改参数也许更方便。
configparser模块读取的参数应该是不限文档格式:*.ini、*.conf、*.*,但是内容格式要按照固定格式来进行填写:
[section]
key =value
1 #路径参数 2 [path] 3 my_dir = D:\python\workspace\pythontest 4 log_path = %(my_dir)s\\log\ 5 img_path = %(my_dir)s\screenshot 6 report_path = %(my_dir)s\\report\ 7 8 #邮箱参数 9 [email]10 uesr = 123456789011 password = 12345612 smtphost = [email protected]163.com13 from = 123123@163.com14 to = [email protected]15 16 #日志参数17 [log]18 logtime = 11232319 20 #测试参数21 [main]22 ip = 109.132.19.723 port = 990024 url = http://%(ip)s:%(port)s/tes
封装后的代码:
1 #coding:utf-8 2 import ConfigParser 3 import os 4 5 class ReadConfig(object): 6 ‘‘‘配置参数‘‘‘ 7 def __init__(self): 8 ‘‘‘ 9 用法:10 conf = ReadConfig()11 confinfo = conf.getconf("url")12 ‘‘‘13 #设置conf.ini路径14 current_dir = os.path.dirname(__file__)15 top_one_dir = os.path.dirname(current_dir)16 file_name = top_one_dir + "\\conf\\conf.ini"17 #实例化ConfigParser对象18 self.config = ConfigParser.ConfigParser()19 self.config.read(file_name)20 21 def getconf(self, keyname):22 num = len( self.config.sections() )23 i = 024 print("num = ",num)25 #根据sections的数量进行循环查找keyname是否存在26 while i < num :27 # 每次循环获取对应list中的section28 section = self.config.sections()[i]29 #如果keyname存在section中,则输出其参数值30 if keyname in self.config.options(section):31 pass32 print("num --> ",i)33 print("section --->",section)34 print("keyname ---> ", keyname)35 self.info = self.config.get(section, keyname)36 break37 else :38 i = i + 139 return self.info40 41 if __name__ == "__main__":42 conf = ReadConfig()43 confinfo = conf.getconf("url")44 print("config --- >",confinfo)
一开始本想通过section值获取对应的key以及value,但是试了很多次都不成功。原设想:
1 conf = ReadConfig()2 confinfo = conf.getconf("main").url
main为section,url为key。
但是这种通过key获取参数value的方法也可以实现我的目的。
1 conf = ReadConfig()2 confinfo = conf.getconf("url")
url为key
运行结果:
ini文件存放在pythontest/conf下
封装后的py文件存放在pythontest/commlib下
python封装configparser模块获取conf.ini值
相关内容
- python 画图工具matplotlib 去掉坐标轴和坐标的方法,pyt
- centos7下部署Django(nginx+uWSGI+Python3+Django),centos7django,部
- Python3 引入sqlite3时出现错误:ModuleNotFoundError: No module
- Python:GUI之tkinter学习笔记之messagebox、filedialog,tkinterf
- Python——决策树实战:california房价预测,pythoncaliforn
- 机器学习之路: python 回归树 DecisionTreeRegressor 预测波士
- python strip() 函数,pythonstrip函数,strip()用于把
- python-day7--%s与%d的使用,python2中的input及raw_input,,#co
- 如何用python爬取两个span之间的内容,pythonspan,Python用做
- python练习题,,python基础练习
评论关闭