python中可以使用官方发布的ConfigParser库,进行读写与操作配置文件,很不错。
Python ConfigParser模块解析的配置文件的格式比较象ini的配置文件格式,就是文件中由多个section构成,每个section下又有多个配置项,比如:
[db]
db_host=192.168.1.1
db_port=3306
db_user=root
db_pass=password
[concurrent]
thread=200
processor=400
将以上配置保存为文件test.conf。
其中包含两个section,一个是db, 另一个是concurrent, db里面还包含有4项,concurrent里面有两项。
使用ConfigParser模块做解析:
复制代码 代码示例:
#!/bin/python
#-*- encoding: gb2312 -*-
#edit: www.jb200.com
import ConfigParser,string,os,sys
cf = ConfigParser.ConfigParser()
cf.read("test.conf")
# 返回所有的section
s = cf.sections()
print 'section:', s
o = cf.options("db")
print 'options:', o
v = 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"))
#添加一个section。(同样要写回)
cf.add_section('liuqing')
cf.set('liuqing', 'int', '15')
cf.set('liuqing', 'bool', 'true')
cf.set('liuqing', 'float', '3.1415')
cf.set('liuqing', 'baz', 'fun')
cf.set('liuqing', 'bar', 'Python')
cf.set('liuqing', 'foo', '%(bar)s is %(baz)s!')
cf.write(open("test.conf", "w"))
#移除section 或者option 。(只要进行了修改就要写回的哦)
cf.remove_option('liuqing','int')
cf.remove_section('liuqing')
cf.write(open("test.conf", "w"))
以上介绍了Python ConfigParser模块的相关应用方法。
有关ConfigParser模块的更多介绍,请参考官方文档:http://docs.python.org/2/library/configparser.html。
您可能感兴趣的文章:
python模块ConfigParser解析配置文件
Python使用ConfigParser模块处理配置文件
Python使用ConfigParser读取配置文件的又一个例子
Python ConfigParser读取ini配置文件的例子
python ConfigParser读取配置文件的例子
Python模块 ConfigParser 读取配置文件
使用python模块ConfigParser解析配置文件
python 使用 ConfigParser 读取和修改INI配置文件