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