歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Python ConfigParser模塊常用方法示例

在程序中使用配置文件來靈活的配置一些參數是一件很常見的事情,配置文件的解析並不復雜,在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裡面有兩項。這裡來做做解析: 
 
#-*- encoding: gb2312 -*-   
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模塊的相關應用方法的介紹,當然,這個模塊還有許多其他的用法,有興趣的可以去官方網站看看:http://docs.python.org/2/library/configparser.html。 
Copyright © Linux教程網 All Rights Reserved