• day5模块学习--configparser模块


       使用ConfigParser模块读写ini文件(http://blog.csdn.net/linda1000/article/details/11729561)

        ConfigParserPythonConfigParser Module中定义了3个类对INI文件进行操作。分别是RawConfigParser、ConfigParser、SafeConfigParser。模块所解析的ini配置文件是由多个section构成,每个section名用中括号‘[]’包含,每个section下可有多个配置项类似于key-value形式,例如:

        ConfigParser模块以ConfigParser类为例,其操作基本分为三类:1)初始化;2)读取配置;3)写入配置。

        1. ConfigParser 初始化

        使用ConfigParser 首选需要初始化实例,并读取配置文件:

        cf = ConfigParser.ConfigParser() cf.read("配置文件名")

        2.基本的读取配置文件

        -read(filename)直接读取ini文件内容;

        -sections()得到所有的section,并以列表的形式返回

      -options(section)得到该section的所有option

        -items(section)得到该section的所有键值对;

        -get(section,option)得到section中的option的值,返回为string类型

        -getint(section,option)得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat()函数。

        3.基本的写入配置文件

        -add_section(section)添加一个新的section;

        -set(section,option,value)对section中的option进行设置,需要调用write将内容写入配置文件;

        -write(strout)将对configparser类的修改写入。

        例如:

       

    configparse文件格式ini:
    
    
    test.conf   #文件名
    [sec_a]
    a_key1 = 20
    a_key2 = 10
       
    [sec_b]
    b_key1 = 121
    b_key2 = b_value2
    b_key3 = $r
    b_key4 = 127.0.0.1

    import configparser #初始化 cf
    = configparser.ConfigParser() #读取加载文件 cf.read('test.conf') # 读取配置文件 secs = cf.sections() print("secs",secs) opts = cf.options('sec_a') print("options",opts) kvs = cf.items("sec_a") print("sec_a",kvs) #read by type str_val = cf.get("sec_a","a_key1") int_val = cf.getint("sec_a","a_key2") print("str_val",str_val) print("int_val",int_val) #写入配置文件 #update value cf.set("sec_b","b_key3","new_$r") #set a new value cf.set("sec_b","b_newkey","new_value") #create a new section cf.add_section("a_new_section") cf.set("a_new_section","new_key","new_value") #write back to configure file cf.write(open("test.conf","w"))
    运行结果如下:
    secs ['sec_a', 'sec_b']
    options ['a_key1', 'a_key2']
    sec_a [('a_key1', '20'), ('a_key2', '10')]
    str_val 20
    int_val 10

        下面用python生成一个configparser的文件格式:

    import configparser
     
    config = configparser.ConfigParser()
    config["DEFAULT"] = {'ServerAliveInterval': '45',
                          'Compression': 'yes',
                         'CompressionLevel': '9'}
     
    config['bitbucket.org'] = {}
    config['bitbucket.org']['User'] = 'hg'
    config['topsecret.server.com'] = {}
    topsecret = config['topsecret.server.com']
    topsecret['Host Port'] = '50022'     # mutates the parser
    topsecret['ForwardX11'] = 'no'  # same here
    config['DEFAULT']['ForwardX11'] = 'yes'
    with open('example.ini', 'w') as configfile:
       config.write(configfile)    
  • 相关阅读:
    git version info & svn version info map(七)
    /proc/pid/statm content analysis
    git log filter(六)
    git create remote branch (五)
    learning svn diff --summarize
    learning scala akka ask_pattern
    learning scala akka tell pattern(二)
    learning scala akka actorySystem create and close
    hibernate 自动生成数据库
    STRICT_TRANS_TABLES STRICT_ALL_TABLES
  • 原文地址:https://www.cnblogs.com/gengcx/p/7226909.html
Copyright © 2020-2023  润新知