python用Configobj模塊讀取配置文件
一、介紹
我們在項目的開發(fā)過程中應(yīng)該會遇到這樣的問題:我們的項目讀取某個配置文件,然后才能按照配置的信息正常運行服務(wù),當(dāng)我們需要對修改服務(wù)的某些信息時,可以直接修改這個配置文件,重啟服務(wù)即可,不用再去打開項目代碼進(jìn)行修改,這樣方便了我們后期運維人員的工作。
讀取配置文件信息,修改配置文件,我們可以使用Configobj和ConfigParser模塊,個人推薦使用Configobj模塊,因為Configobj相比于ConfigParser,優(yōu)勢在于Configobj模塊的使用更加清晰簡單(其實是我看到ConfigParser模塊好像復(fù)雜一點,自己選了個簡單點的模塊而已,哈哈哈哈哈)。
pip install configobj
configobj的簡單之處就在于,它是以字典的形式來讀取/修改配置文件,就跟操作字典一樣,很簡單,下面看看例子就知道了。
二、configobj的使用
1、test.cfg配置文件
[server]name = zbjport = 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 ConfigObjcfg_path = './test.cfg'config = ConfigObj(cfg_path, encoding=’UTF-8’)config[’server’][’name’] = 'clj'# 修改完記得write寫入配置文件config.write()

4、給配置文件添加新項
from configobj import ConfigObjcfg_path = './test.cfg'config = ConfigObj(cfg_path, encoding=’UTF-8’)config[’school’] = {}config[’school’][’class’] = 'three'# 只要進(jìn)行了修改(包括新增刪除等)的操作,記得write修改config.write()

5、刪除配置文件中的某個項
from configobj import ConfigObjcfg_path = './test.cfg'config = ConfigObj(cfg_path, encoding=’UTF-8’)del config[’school’]del config[’server’][’port’]config.write()

6、將配置文件寫入到不同的文件
from configobj import ConfigObjcfg_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模塊讀取配置文件的詳細(xì)內(nèi)容,更多關(guān)于python Configobj模塊的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 理解PHP5中static和const關(guān)鍵字2. Android table布局開發(fā)實現(xiàn)簡單計算器3. python 代碼實現(xiàn)k-means聚類分析的思路(不使用現(xiàn)成聚類庫)4. IntelliJ IDEA安裝插件的方法步驟5. Java如何基于反射機(jī)制獲取不同的類6. php模擬實現(xiàn)斗地主發(fā)牌7. Vue封裝一個TodoList的案例與瀏覽器本地緩存的應(yīng)用實現(xiàn)8. Android 在 res/layout 文件夾 下創(chuàng)建一個 子文件夾實例9. PHP安全-命令注入10. Vuex localStorage的具體使用

網(wǎng)公網(wǎng)安備