码迷,mamicode.com
首页 > 编程语言 > 详细

python对ini配置文件处理

时间:2015-11-26 21:16:26      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

实例文件

[root@docker2 ~]# cat test.ini

[base]

host = 192.168.88.121

port = 3306

user = root

path = /home

passwd = 123

[callback]

path = /Autops

alert = yes

count = 1

ftp = no

基础用法:代码片段

>>> cf.read("test.ini")                              #读取配置文件

[‘test.ini‘]

>>> cf.sections()                                    #片段名

[‘base‘, ‘callback‘]

>>> cf.options("callback")                           #配置key值/配置项

[‘path‘, ‘alert‘, ‘count‘, ‘ftp‘]

>>> cf.items("callback")                           #配置选项和值

[(‘path‘, ‘/Autops‘), (‘alert‘, ‘yes‘), (‘count‘, ‘1‘), (‘ftp‘, ‘no‘)]

>>> cf.get("base","port")

‘3306‘

>>> cf.get("base","passwd")                           #没有的key的会报错

Traceback (most recent call last):

ConfigParser.NoOptionError: No option ‘passwd‘ in section: ‘base‘

>>> cf.set("base","passwd","123")               #设定选项,key可以时不存在的

>>> cf.write(open("test.ini","w"))                  #写入配置文件

>>> cf.getint(‘base‘,‘port‘)                           #直接读出int型,但value必须可以转成int

3306

>>> cf.getfloat(‘base‘,‘port‘)

3306.0

>>> cf.getboolean(‘callback‘,‘alert‘) #0/no/false/off都视为False,

#1/yes/true/on视为True

True

>>> cf.getboolean(‘callback‘,‘count‘)

True

注意事项:

  • 当配置文件中有定义DEFAULT片段时,在其他片段中找不到的相应的key时,就会到DEFAULT中去查找,如果还是没有就会报错NoOptionError

[DEFAULT]

dbn=mysql

user=root

[base]

user = autops

>>> cf.get(‘base‘,‘user‘)

‘autops‘

>>> cf.get(‘base‘,‘dbn‘)

‘mysql                                                      #dbn的值是default里的

  • 可以像字符串进行变量替换,形成一个大字符串 %s

[DEFAULT]

conn_str=%(dbn)s -u%(user)s -p%(passwd)s %(db)s

dbn=mysql

user=root

host = 192.168.88.121

port = 3306

[db1]

port = 3307

user = root

db = autops

passwd = 123

[db2]

user = monitor

db = monitor

passwd = 123

结果:

>>> cf.get("db1","conn_str")

‘mysql -uroot -p123 autops‘

>>> cf.get("db2","conn_str")

‘mysql -umonitor -p123 monitor

python对ini配置文件处理

标签:

原文地址:http://www.cnblogs.com/wxl-dede/p/4998840.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!