1.读取配置文件
-read(filename) 直接读取ini文件内容
-sections() 得到所有的section,并以列表的形式返回
-options(section) 得到该section的所有option
-items(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进行设置
3.例子
test.conf
[sec_a]
a_key1 = i'm value
a_key2 = 22
[sec_b]
b_key1 = 121
b_key2 = b_value2
b_key3 = $r
b_key4 = 127.0.0.1
|
parse_test_conf.py
import
cf = ConfigParser.ConfigParser()
#read config
cf.read("test.conf")
# return all section
secs = cf.sections()
print
opts = cf.options("sec_a")
print
kvs = cf.items("sec_a")
print
#read by type
str_val = cf.get("sec_a",
int_val = cf.getint("sec_a",
print
print
#write config
#update value
cf.set("sec_b",
#set a new value
cf.set("sec_b",
#create a new section
cf.add_section('a_new_section')
cf.set('a_new_section',
#write back to configure file
cf.write(open("test.conf", |
print
sections: ['sec_b', 'sec_a']
options: ['a_key1', 'a_key2']
sec_a: [('a_key1', "i'm value"), ('a_key2', '22')]
value for sec_a's a_key1: i'm value
value for sec_a's a_key2: 22
更新后的test.conf
[sec_b]
b_newkey = new-value
b_key4 = 127.0.0.1
b_key1 = 121
b_key2 = b_value2
b_key3 = new-$r
[sec_a]
a_key1 = i'm value
a_key2 = 22
[a_new_section]
new_key = new_value
|
4.可能抛出的异常
exception
Exception raised when a specified section is notfound.
exception
Exception raised if add_section() is called with the name of asection that is already present.
exception
Exception raised when a specified option is not found in thespecified section.
exception
Base class for exceptions raised when problems occur performingstring interpolation.
exception
Exception raised when string interpolation cannot be completedbecause the number of iterations exceeds MAX_INTERPOLATION_DEPTH.Subclass of InterpolationError.
exception
Exception raised when an option referenced from a value does notexist. Subclass of InterpolationError. New in version2.3.
exception
Exception raised when the source text into which substitutions aremade does not conform to the required syntax. Subclass ofInterpolationError. New in version 2.3.
exception
Exception raised when attempting to parse a file which has nosection headers.
exception
Exception raised when errors occur attempting to parse afile.
|