歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python ConfigParser模塊常用方法示例

Python ConfigParser模塊常用方法示例

日期:2017/3/1 10:04:01   编辑:Linux編程
在程序中使用配置文件來靈活的配置一些參數是一件很常見的事情,配置文件的解析並不復雜,在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