python学习笔记之二

python学习笔记之二

(一)python----ConfigParser

         ConfigParser简介 :在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂。ConfigParser解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项。

#test.conf

[db]
host=localhost
root=root
password=****

[user]
username=xiao_ku
userid=133


Class RawConfigParse([defaults])

基本配置类,当传递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"))

  1.   

posted @ 2013-07-22 00:02  kuduogedi  阅读(197)  评论(0编辑  收藏  举报