標籤: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。
Python ConfigParser模組常用方法樣本