python中使用configparser库,实现配置文件的读取

背景:

在写接口自动化框架,配置数据库连接时,测试环境和UAT环境的连接信息不一致,这时可以将连接信息写到conf或者cfg配置文件中

python环境请自行准备。

python代码直接封装成类,方便其他模块的引入。

 1 from configparser import ConfigParser
 2 
 3 class DoConfig:
 4     def __init__(self,filepath,encoding='utf-8'):
 5         self.cf = ConfigParser()
 6         self.cf.read(filepath,encoding)
 7 
 8     #获取所有的section
 9     def get_sections(self):
10         return self.cf.sections()
11 
12     #获取某一section下的所有option
13     def get_option(self,section):
14         return self.cf.options(section)
15 
16     #获取section、option下的某一项值-str值
17     def get_strValue(self,section,option):
18         return self.cf.get(section,option)
19 
20     # 获取section、option下的某一项值-int值
21     def get_intValue(self, section, option):
22         return self.cf.getint(section, option)
23 
24     # 获取section、option下的某一项值-float值
25     def get_floatValue(self, section, option):
26         return self.cf.getfloat(section, option)
27 
28     # 获取section、option下的某一项值-bool值
29     def get_boolValue(self, section, option):
30         return self.cf.getboolean(section, option)
31 
32     def setdata(self,section,option,value):
33         return self.cf.set(section,option,value)
34 
35 if __name__ == '__main__':
36     cf = DoConfig('demo.conf')
37     res = cf.get_sections()
38     print(res)
39     res = cf.get_option('db')
40     print(res)
41     res = cf.get_strValue('db','db_name')
42     print(res)
43     res = cf.get_intValue('db','db_port')
44     print(res)
45     res = cf.get_floatValue('user_info','salary')
46     print(res)
47     res = cf.get_boolValue('db','is')
48     print(res)
49 
50     cf.setdata('db','db_port','3306')
51     res = cf.get_strValue('db', 'db_port')
52     print(res)

 

posted @ 2019-03-19 15:07  奔奔-武  阅读(639)  评论(0编辑  收藏  举报