Python 标准模块 ConfigParser(转)

来源:互联网 发布:人工智能包括哪些方面 编辑:程序博客网 时间:2024/06/05 06:56

20160520update: 最省事的还是读JSON

#=====================================

发现python读写配置文件比较方便。

import ConfigParser

接口:ConfigParser.ConfigParser()

读写文件:read write


结构: config file =>sections=>options=>items


读取某个option的值(str): get(section,option)



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类型,还有相应的getboolean()和getfloat() 函数。

2.基本的写入配置文件
     -add_section(section) 添加一个新的section
     -set( section, option, value) 对section中的option进行设置,需要调用write将内容写入配置文件。








程序如下:


#/usr/bin/python



import ConfigParser
import string, os, sys


cf = ConfigParser.ConfigParser()


cf.read("test.conf")


#return all section
secs = cf.sections()
print 'sections:', secs


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


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


#read by type
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")


#read int 
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




#modify one value and write to file
cf.set("db", "db_pass", "xgmtest")
cf.write(open("test.conf", "w"))
0 0
原创粉丝点击