configobj
这里演示一个创建空ConfigObj`,然后设置文件名、值。最后写入文件
from configobj import ConfigObj
config = ConfigObj()
config.filename = 'filename'
config['keyword1'] = 'value1'
config['keyword2'] = 'value2'
config['section1'] = {}
config['section1']['keyword3'] = 'value3'
config['section1']['keyword4'] = 'value4'
section2 = {
'keyword5': 'value5',
'keyword6': 'value6',
'sub-section': {
'keyword7': 'value7'
}
}
config['section2'] = section2
config['section3'] = {}
config['section3']['keyword 8'] = ['value8', 'value9', 'value10']
config['section3']['keyword 9'] = ['value11', 'value12', 'value13']
config.write()
生成文件filename,文件内容如下
keyword1 = value1
keyword2 = value2
[section1]
keyword3 = value3
keyword4 = value4
[section2]
keyword6 = value6
keyword5 = value5
[[sub-section]]
keyword7 = value7
[section3]
keyword 8 = value8, value9, value10
keyword 9 = value11, value12, value13
(1)解析文件
test.ini文件内容
[server]
servername = 192.168.11.1
serverport = 8000
[client_srv]
# 这里是注释
server = localhost
port = 8000
代码
from configobj import ConfigObj
conf_ini = "./test.ini"
config = ConfigObj(conf_ini,encoding='UTF8')
# 读配置文件
print config['server']
print config['server']['servername']
控制台打印结果
{u'servername': u'192.168.11.1', u'serverport': u'8000'}
192.168.11.1
(2)修改配置文件
from configobj import ConfigObj
conf_ini = "./test.ini"
config = ConfigObj(conf_ini,encoding='UTF8')
config['server']['servername'] = "127.0.0.1"
config.write()
修改后的文件内容
[server]
servername = "172.26.20.113 "
serverport = 8000
[client_srv]
# 这里是注释
server = localhost
port = 8000
[new_items]
Items1 = test items
(3)添加新项
from configobj import ConfigObj
conf_ini = "./test.ini"
config = ConfigObj(conf_ini,encoding='UTF8')
config['new_items'] = {}
config['new_items']['Items1'] = "test items"
config.write()
添加新项后的文件内容
[server]
servername = "172.26.20.113 "
serverport = 8000
[client_srv]
# 这里是注释
server = localhost
port = 8000
[new_items]
Items1 = test items
[new_items_]
Items1 = test items
(4)删除项
from configobj import ConfigObj
conf_ini = "./test.ini"
config = ConfigObj(conf_ini,encoding='UTF8')
del config['client_srv']['port']
config.write()
删除后的文件内容
[server]
servername = "172.26.20.113 "
serverport = 8000
[client_srv]
# 这里是注释
server = localhost
port = 8000
[new_items]
Items1 = test items
[new_items_]
(5)将配置文件写入到不同的文件
from configobj import ConfigObj
conf_ini = "./test.ini"
config = ConfigObj(conf_ini,encoding='UTF8')
del config['client_srv']['port']
config.filename = "./test1.ini"
config.write()
obj和configParser
网友评论