python 中configparser的使用

 在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在 Python 里更是如此,在官方发布的库中就包含有做这件事情的库,那就是 ConfigParser,这里简单的做一些介绍。
    ConfigParser 解析的配置文件的格式比较象 ini 的配置文件格式,就是文件中由多个 section 构成,每个 section 下又有多个配置项,比如:
 

C代码 python 中configparser的使用
  1. [db]   
  2. db_host=127.0.0.1   
  3. db_port=3306   
  4. db_user=root   
  5. db_pass=password   
  6. [concurrent]   
  7. thread=10   
  8. processor=20  

 
    假设上面的配置文件的名字为 test.conf。里面包含两个 section, 一个是 db, 另一个是 concurrent, db 里面还包含有 4 项,concurrent 里面有两项。这里来做做解析:

#-*- encoding: gb2312 -*-
import ConfigParser
import string, os, sys

cf 
= ConfigParser.ConfigParser()
cf.read(
"test.conf")
# 返回所有的section
= cf.sections()
print 'section:', s

= cf.options("db")
print 'options:', o

= cf.items("db")
print 'db:', v

print '-'*60
#可以按照类型读取出来
db_host = cf.get("db""db_host")
db_port 
= cf.getint("db""db_port")
db_user 
= cf.get("db""db_user")
db_pass 
= cf.get("db""db_pass")

# 返回的是整型的
threads = cf.getint("concurrent""thread")
processors 
= cf.getint("concurrent""processor")

print "db_host:", db_host
print "db_port:", db_port
print "db_user:", db_user
print "db_pass:", db_pass

print "thread:", threads
print "processor:", processors
#修改一个值,再写回去
cf.set("db""db_pass""zhaowei")
cf.write(open(
"test.conf""w"))
;