- 論壇徽章:
- 0
|
在程序中使用配置文件來靈活的配置一些參數(shù)是一件很常見的事情,配置文件的解析并不復雜,在python里更是如此,在官方發(fā)布的庫中就包含有做這件事情的庫,那就是ConfigParser,這里簡單的做一些介紹。
ConfigParser解析的配置文件的格式比較象ini的配置文件格式,就是文件中由多個section構成,每個section下又有多個配置項,比如:
[db]
db_host=127.0.0.1
db_port=3306
db_user=root
db_pass=password
[concurrent]
thread=10
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
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"))
本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u3/94529/showart_2075503.html |
|