zoukankan      html  css  js  c++  java
  • python configparser模块

    ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section), 每个节可以有多个参数(键=值)。使用的配置文件的好处就是不用在程序员写死,可以使程序更灵活。 

    注意:在python 3 中ConfigParser模块名已更名为configparser

    configparser函数常用方法:

    读取配置文件:

     1 read(filename) #读取配置文件,直接读取ini文件内容
     2 
     3 sections() #获取ini文件内所有的section,以列表形式返回['logging', 'mysql']
     4 
     5 options(sections) #获取指定sections下所有options ,以列表形式返回['host', 'port', 'user', 'password']
     6 
     7 items(sections) #获取指定section下所有的键值对,[('host', '127.0.0.1'), ('port', '3306'), ('user', 'root'), ('password', '123456')]
     8 
     9 get(section, option) #获取section中option的值,返回为string类型
    10 >>>>>获取指定的section下的option <class 'str'> 127.0.0.1
    11 
    12 getint(section,option) 返回int类型
    13 getfloat(section, option)  返回float类型
    14 getboolean(section,option) 返回boolen类型

    举例如下:

    配置文件ini如下:

    [logging]
    level = 20
    path =
    server =
    
    [mysql]
    host=127.0.0.1
    port=3306
    user=root
    password=123456

    注意,也可以使用:替换=

    代码如下:

    import configparser
    from until.file_system import get_init_path
    
    conf = configparser.ConfigParser()
    file_path = get_init_path()
    print('file_path :',file_path)
    conf.read(file_path)
    
    sections = conf.sections()
    print('获取配置文件所有的section', sections)
    
    options = conf.options('mysql')
    print('获取指定section下所有option', options)
    
    
    items = conf.items('mysql')
    print('获取指定section下所有的键值对', items)
    
    
    value = conf.get('mysql', 'host')
    print('获取指定的section下的option', type(value), value)

    运行结果如下:

    file_path : /Users/xxx/Desktop/xxx/xxx/xxx.ini
    获取配置文件所有的section ['logging', 'mysql']
    获取指定section下所有option ['host', 'port', 'user', 'password']
    获取指定section下所有的键值对 [('host', '127.0.0.1'), ('port', '3306'), ('user', 'root'), ('password', '123456')]
    获取指定的section下的option <class 'str'> 127.0.0.1

    综合使用方法:

    import configparser
    """
    读取配置文件信息
    """
    
    class ConfigParser():
    
        config_dic = {}
        @classmethod
        def get_config(cls, sector, item):
            value = None
            try:
                value = cls.config_dic[sector][item]
            except KeyError:
                cf = configparser.ConfigParser()
                cf.read('settings.ini', encoding='utf8')  #注意setting.ini配置文件的路径
                value = cf.get(sector, item)
                cls.config_dic = value
            finally:
                return value
    
    
    if __name__ == '__main__':
        con = ConfigParser()
        res = con.get_config('logging', 'level')
        print(res)

    参考链接:

    http://blog.csdn.net/henulwj/article/details/49174355

    后续补充~~~~

  • 相关阅读:
    友盟上报 IOS
    UTF8编码
    Hill加密算法
    Base64编码
    Logistic Regression 算法向量化实现及心得
    152. Maximum Product Subarray(中等, 神奇的 swap)
    216. Combination Sum III(medium, backtrack, 本类问题做的最快的一次)
    77. Combinations(medium, backtrack, 重要, 弄了1小时)
    47. Permutations II(medium, backtrack, 重要, 条件较难思考)
    3.5 find() 判断是否存在某元素
  • 原文地址:https://www.cnblogs.com/lhly/p/8066898.html
Copyright © 2011-2022 走看看