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


      昨天晚上封装了configparser模块,是根据keyname获取的value。python封装configparser模块获取conf.ini值

      我原本是想通过config.ini文件中的section和keyname获取value的,前两天怎么都调试不通过。今天百度了一下,有人通过字典的方式把我的和这个想法实现了,我把这个例子修改了一下,代码如下,并通过测试,以后可以用在自动化测试框架中:

     1 #coding:utf-8
     2 import os
     3 import ConfigParser
     4 
     5 class Dictionary(dict):
     6     '''
     7     把config.ini中的参数添加值dict
     8     '''
     9     def __getattr__(self, keyname):
    10         #如果key值不存在则返回默认值"not find config keyname"
    11         return self.get(keyname, "config.ini中没有找到对应的keyname")
    12 
    13 class Config(object):
    14     '''
    15     ConfigParser二次封装,在字典中获取value
    16     '''
    17     def __init__(self):
    18         # 设置conf.ini路径
    19         current_dir = os.path.dirname(__file__)
    20         top_one_dir = os.path.dirname(current_dir)
    21         file_name = top_one_dir + "\conf\conf.ini"
    22         # 实例化ConfigParser对象
    23         self.config = ConfigParser.ConfigParser()
    24         self.config.read(file_name)
    25         #根据section把key、value写入字典
    26         for section in self.config.sections():
    27             setattr(self, section, Dictionary())
    28             for keyname, value in self.config.items(section):
    29                 setattr(getattr(self, section), keyname, value)
    30 
    31     def getconf(self, section):
    32         '''
    33         用法:
    34         conf = Config()
    35         info = conf.getconf("main").url
    36         '''
    37         if section in self.config.sections():
    38             pass
    39         else:
    40             print("config.ini 找不到该 section")
    41         return getattr(self, section)
    42 
    43 if __name__ == "__main__":
    44     conf = Config()
    45     info = conf.getconf("main").url
    46     print info

    运行结果:

     conf.ini文件

     

  • 相关阅读:
    Python pip命令
    Linux extundelete命令
    Ruby Gem命令
    RPM包制作方法
    Openssl genpkey命令
    Linux ssldump命令
    openssl 证书操作命令
    Linux下使用openssl生成证书
    Volley框架载入网络图片
    Gmail上不去怎么办?
  • 原文地址:https://www.cnblogs.com/zhuque/p/8365217.html
Copyright © 2020-2023  润新知