Python读取ini配置文件

需求:

写个项目,用到数据库,多个地方使用,不能硬编码。很类似java的properties文件

Python支持ini文件的读取

涉及模块:

ConfigParser

xml文件

 db_config.ini

db_config.ini  
[baseconf]  
host=127.0.0.1  
port=3306  
user=root  
password=root  
db_name=evaluting_sys 
[concurrent] processor=20

  对应的python代码

 

#!/usr/bin/python   
# -*- coding:utf-8 -*-   
#author: lingyue.wkl   
#desc: use to db ops   
#---------------------   
#2012-02-18 created     
#---------------------   
import sys,os  
import ConfigParser  
  
class Db_Connector:  
  def __init__(self, config_file_path):  
    cf = ConfigParser.ConfigParser()  
    cf.read(config_file_path)  
  
    s = cf.sections()  
    print 'section:', s  
  
    o = cf.options("baseconf")  
    print 'options:', o  
  
    v = cf.items("baseconf")  
    print 'db:', v  
  
    db_host = cf.get("baseconf", "host")  
    db_port = cf.getint("baseconf", "port")  
    db_user = cf.get("baseconf", "user")  
    db_pwd = cf.get("baseconf", "password")  
  
    print db_host, db_port, db_user, db_pwd  
  
    #cf.set("baseconf", "db_pass", "123456")  
    #cf.write(open("config_file_path", "w")) 
if __name__ == "__main__": f = Db_Connector("../conf/db_config.ini")

  

得到结果:

section: ['concurrent', 'baseconf']
options: ['host', 'db_name', 'user', 'password', 'port']
db: [('host', '127.0.0.1'), ('db_name', 'evaluting_sys'), ('user', 'root'), ('password', 'root'), ('port', '3306')]
127.0.0.1 3306 root root

 

 

 

posted on 2014-01-14 15:53  一个石头  阅读(283)  评论(0)    收藏  举报