1 #!/usr/bin/env python
2 #-*- coding: utf-8 -*-
3
4 """5 __title__ = 操作配置文件工具类
6"""
7
8 importconfigparser9
10
11 classConfigUtil:12 #实例化configparser
13 config =configparser.ConfigParser()14
15 defread(self, filename):16 """17 读取配置文件
18 :param filename: 配置文件路径
19"""
20 self.config.read(filename, encoding="utf-8-sig")21
22 def get(self, _options, _section='server'):23 """24 获取某个options值
25 :param _options: option
26 :param _section: section
27"""
28 try:29 #方式一:调用方法
30 value = self.config.get(section=_section, option=_options, fallback="默认值,key不存在则返回此值")31
32 #方式二:索引
33 value =self.config[_section][_options]34 exceptException as e:35 print("没有获取到值")36 value =None37 returnvalue38
39 defget_options_key_value(self, _section):40 """41 以列表(name,value)的形式返回section中的每个值
42 :param _section: 某个section
43 :return: list[tuple(key,value)]
44"""
45 returnself.config.items(_section)46
47 defget_all_section(self):48 """49 获取所有section
50"""
51 returnself.config.sections()52
53 defget_options_by_section(self, _section):54 """55 获取section下所有可用options
56"""
57 #方式一
58 keys =[]59 for _options inself.config[_section]:60keys.append(_options)61
62 #方式二(推荐)
63 keys =self.config.options(_section)64 returnkeys65
66 defassert_section_in_config(self, _section):67 """68 判断section是否存在
69 :param _section: 需要判断的section
70"""
71 return _section inself.config72
73 defassert_options_in_section(self, _section, _options):74 """75 判断options是否存在某个section中
76 :param _section: 某个section
77 :param _options: 需要判断的options的key值
78"""
79 return _options inself.config[_section]80
81
82 configUtil =ConfigUtil()83
84 if __name__ == '__main__':85 filename = 'F:/imocInterface/config/server.ini'
86configUtil.read(filename)87 print(configUtil.get("username"))88 print(configUtil.get_all_section())89 print(configUtil.assert_section_in_config("server"))90 print(configUtil.get_options_by_section("server"))91 print(configUtil.assert_options_in_section("server", "usernsame"))92 print(configUtil.get_options_key_value("server"))