zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    MyBatis-Generator 最佳实践
    Http请求工具
    多线程编程-之并发编程:阻塞队列
    如数据不存在就插入,存在就更新
    MySQL触发器
    13.multi_match实现dis_max+tie_breaker
    12. tie_breaker的使用原因和使用方法
    11.best fields策略(dis_max参数设置)
    10.多shard场景下relevence score可能不准确
    9.boost权重控制
  • 原文地址:https://www.cnblogs.com/benben-wu/p/10558792.html
Copyright © 2011-2022 走看看