python学习笔记之二
python学习笔记之二
(一)python----ConfigParser
ConfigParser简介 :在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂。ConfigParser解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项。
#test.conf [db] host=localhost root=root password=**** [user] username=xiao_ku userid=133
基本配置类,当传递default时,会初始化到内置字典中。
Class ConfigParser([defaults])
继承RawConfigParser类,实现智能特性。为get(),items()方法添加了可选参数。Defaults中的值必须能填补“%()s”。注意__name__是内置的default;该值是section的名称,它会被defaults提供的任何值所覆盖。
常用函数:
1.读取配置 文件read(filename):直接读取ini文件内容
sections():得到所有的section,并以列表的形式返回
options(section):得到该section的所有键值对
get(section,option):得到section中option的值,返回为string类型
getint(section,option):得到section中option的值,返回为int类型
2.写配置文件
add_section(section) 添加一个新的section
-set( section, option, value) 对section中的option进行设置
配置文件test.cfg
[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
# -* - coding: UTF-8 -* - import ConfigParser #生成config对象 conf = ConfigParser.ConfigParser() #用config对象读取配置文件 conf.read("test.cfg") #以列表形式返回所有的section sections = conf.sections() print 'sections:', sections #sections: ['sec_b', 'sec_a'] #得到指定section的所有option options = conf.options("sec_a") print 'options:', options #options: ['a_key1', 'a_key2'] #得到指定section的所有键值对 kvs = conf.items("sec_a") print 'sec_a:', kvs #sec_a: [('a_key1', '20'), ('a_key2', '10')] #指定section,option读取值 str_val = conf.get("sec_a", "a_key1") int_val = conf.getint("sec_a", "a_key2") print "value for sec_a's a_key1:", str_val #value for sec_a's a_key1: 20 print "value for sec_a's a_key2:", int_val #value for sec_a's a_key2: 10 #写配置文件 #更新指定section,option的值 conf.set("sec_b", "b_key3", "new-$r") #写入指定section增加新option和值 conf.set("sec_b", "b_newkey", "new-value") #增加新的section conf.add_section('a_new_section') conf.set('a_new_section', 'new_key', 'new_value') #写回配置文件 conf.write(open("test.cfg", "w"))