python用Configobj模塊讀取配置文件
一、介紹
我們在項目的開發(fā)過程中應該會遇到這樣的問題:我們的項目讀取某個配置文件,然后才能按照配置的信息正常運行服務,當我們需要對修改服務的某些信息時,可以直接修改這個配置文件,重啟服務即可,不用再去打開項目代碼進行修改,這樣方便了我們后期運維人員的工作。
讀取配置文件信息,修改配置文件,我們可以使用Configobj和ConfigParser模塊,個人推薦使用Configobj模塊,因為Configobj相比于ConfigParser,優(yōu)勢在于Configobj模塊的使用更加清晰簡單(其實是我看到ConfigParser模塊好像復雜一點,自己選了個簡單點的模塊而已,哈哈哈哈哈)。
pip install configobj
configobj的簡單之處就在于,它是以字典的形式來讀取/修改配置文件,就跟操作字典一樣,很簡單,下面看看例子就知道了。
二、configobj的使用
1、test.cfg配置文件
[server] name = zbj port = 9000 [home] # 注釋 area = huizhou
2、讀取配置文件信息
from configobj import ConfigObj # 實例化一個Configobj對象,給ConfigObj一個配置文件的路徑,然后通過字典來訪問成員,子段也是一個字典 cfg_path = "./test.cfg" config = ConfigObj(cfg_path, encoding='UTF-8') # 讀配置文件 print(config['server']) # {'name': 'zbj', 'port': '9000'} print(config['server']['name']) # zbj
3、修改配置文件
from configobj import ConfigObj cfg_path = "./test.cfg" config = ConfigObj(cfg_path, encoding='UTF-8') config['server']['name'] = "clj" # 修改完記得write寫入配置文件 config.write()
4、給配置文件添加新項
from configobj import ConfigObj cfg_path = "./test.cfg" config = ConfigObj(cfg_path, encoding='UTF-8') config['school'] = {} config['school']['class'] = "three" # 只要進行了修改(包括新增刪除等)的操作,記得write修改 config.write()
5、刪除配置文件中的某個項
from configobj import ConfigObj cfg_path = "./test.cfg" config = ConfigObj(cfg_path, encoding='UTF-8') del config['school'] del config['server']['port'] config.write()
6、將配置文件寫入到不同的文件
from configobj import ConfigObj cfg_path = "./test.cfg" config = ConfigObj(cfg_path, encoding='UTF-8') config.filename = "./test.ini" config.write() # 此時會新建一個test.ini文件,然后會將test.cfg的內(nèi)容寫入到test.ini文件
7、創(chuàng)建新的配置文件
from configobj import ConfigObj # 實例化一個ConfigObj對象 config = ConfigObj() # filename指定新創(chuàng)建的文件路徑和名稱 config.filename = './my_cfg.ini' # 寫入配置信息 config['people'] = {} config['people']['name'] = 'zzbj' config['people']['age'] = '18' config.write()
以上就是python用Configobj模塊讀取配置文件的詳細內(nèi)容,更多關于python Configobj模塊的資料請關注腳本之家其它相關文章!
相關文章
Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)篩選及提取序列中元素的方法
這篇文章主要介紹了Python cookbook(數(shù)據(jù)結(jié)構(gòu)與算法)篩選及提取序列中元素的方法,涉及Python列表推導式、生成器表達式及filter()函數(shù)相關使用技巧,需要的朋友可以參考下2018-03-03python利用urllib和urllib2訪問http的GET/POST詳解
urllib模塊提供的上層接口,使我們可以像讀取本地文件一樣讀取www和ftp上的數(shù)據(jù)。下面這篇文章主要給大家介紹了關于python如何利用urllib和urllib2訪問http的GET/POST的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09