zoukankan      html  css  js  c++  java
  • Python_configparser模块

    configparser : 用于处理ini结构相似的文件(配置文件),格式类似于:

    [DEFAULT]                # 相当于一个分组
    # option         # 注释,说明性文字 ,默认以# 或‘;’开头的行
    option1 = 1                
    option2 = 2
    
    [section2]
    option3 = 3                  #   每个分组下面包含0个或多个key = value 形式的选项

      注:[DEFAULT] 是一个特殊的分组,它为其它分组提供它所包含的选项默认值,也就是说其它选项会继承 [DEFAULT] 下所有的选项值,但是各个分组可以覆盖这些默认值,如:在某个分组不存在,但 [DEFAULT] 存在选项时,获取分组的值就是 [DEFAULT] 的选项值。

    configparser 提供了3个相关的类,3个类为依次继承关系:

    class RawConfigParser       # 提供配置文件读写相关功能,不支持格式字符串替换
        class ConfigParser              # 允许当前分组 或者选项进行字符串替换
            class SafeConfigParser             # 允许其他分组下的选项进行字符串替换

    创建:

    import configparser
    config = configparser.ConfigParser()  # 声明configparser文档
    config['default'] = {'Vera': 'hello',
                          'Presely': 'yeah',
                          'element': 'ok'}           # 子节点
    
    config['head'] = {}
    config['head']['thought'] = 'happy'       # 添加子节点
    
    config['mouse'] = {}
    topsecret = config['mouse']       # 赋值
    topsecret['eat'] = 'food'
    topsecret['speak'] = 'joke'
    
    
    config['default']['finish'] = 'yes'
    
    with open('example,ini', 'w') as configfile:       # 存文件
        config.write(configfile)
    ini 

    结果:

    [default]
    vera = hello
    presely = yeah
    element = ok
    finish = yes
    
    [head]
    thought = happy
    
    [mouse]
    eat = food
    speak = joke
    result

    configparser模块的增删改查:

    add_section(section_name) 添加一个分组,若存在,则报错
    set_option(section_name,option_name,option_value) 在一个分组下添加或修改一个选项
    remove_section(section_name) 删除指定的分组,若存在则返回True,反之,返回False
    remove_option(section_name,option_name) 删除一个分组下的某个选项
    list_sections() 以列表的形式返回所有分组
    list_option_keys(section_name) 以列表的形式返回指定分组下所有的选项名(key)
    list_option_items(section_name) 返回指定的分组下包含的所有选项(key = value)
    get_option(section_name,option_name,fallback) 获取指定分组下指定的选项值(value),指定fallback 参数可用于获取选项值不存在的默认值                                                                

    1. configparser.RawConfigParser类

    与 section相关的方法:

    add_section()

     

    remove_section()

     
    sections()

    返回一个所有可用的分组的列表

    has_section(section)

    判断指定的分组是否存在,若存在则返回True,反之为False

    与option相关的方法:

    set (section,option,value)  添加或修改某个已经存在的分组下的选项的值,若不存在,则报错
    get (section,option,fallback) 以str的形式获取指定的某个选项值
    getint(section,option,fallback) 以 int 的形式获取指定的某个选项值
    getfloat(section,option,fallback) 以float 的形式获取指定的某个选项值
    getboolen(section,option,fallback )

    对get()方法的字符串结果转换为布尔值并返回

                    # ‘1’,‘yes’,‘true’,‘on’返回True

                    #  ‘0’,‘no’,‘False’,‘off’返回 False

    remove_option(section,option)  
    defaults() 返回一个包含默认值的字典,即[DEFAULT] 下的所有option
    options(section) 返回一个指定分组下所有可用选项值
    items(section) 返回一个分组中包含的每个选项(key= value)
    has_option(setion,option)  


    配置文件读写相关方法:

    read_file(f,source=None) 解析文件,若文件名被忽略,file有一个name属性,filename会取这个属性值
    read_string() 从字符串中读取配置数据信息
    read_dict() 从字典中读取配置数据信息
    write(fileobject,space_around_delimiter) 将当前实例中的配置数据写入指定的文件对象中
      space_around_delimiter  : 默认为True ,保留写入文件的配置数据选项和选项值之间的分隔符或空格符,False 为不保留
    read(filenames,encoding=None) 读取并解析一个文件列表,返回一个被成功解析的文件列表

    2.configparser.ConfigParser类

    是 RawConfigParser的子类,继承了RawConfigParser的方法,支持option值的格式化替换,允许以类似字典的方式来操作配置文件

    get(section,option[,raw[,vars]],fallback) 获取指定的分组下某个选项值
    items(section[,raw[,vars]])) 返回指定分组下每个选项(key= value)
    raw  :  默认为False,表示所有选项的值包含‘%’格式的字符串都会被替换为相应的值,若为True,则不对这些格式字符串做处理,直接返回
    vars  :  用来临时定义某个被格式字符串引用的选项的值(被格式字符串的查找过程:vars(如果被提供)->当前分组-> DEFAULT)

    3. configparser.SafeConfigParser类

    • set(section,option,value):添加或修改某个已经存在的分组下的选项值,如果分组不存在则报错



  • 相关阅读:
    Day12:前端代码的合并和登录过程的完善
    Day11:基本界面的完成
    Day10:界面的跳转
    Day9:尝试连接绑定数据与API
    Day8:转战前端开发
    Day7:熟悉搭建服务器工具及配置
    Day6:完成API的列举设计
    day14
    day13
    day13
  • 原文地址:https://www.cnblogs.com/Vera-y/p/9696765.html
Copyright © 2011-2022 走看看