python用Configobj模塊讀取配置文件
一、介紹
我們在項目的開發過程中應該會遇到這樣的問題:我們的項目讀取某個配置文件,然后才能按照配置的信息正常運行服務,當我們需要對修改服務的某些信息時,可以直接修改這個配置文件,重啟服務即可,不用再去打開項目代碼進行修改,這樣方便了我們后期運維人員的工作。
讀取配置文件信息,修改配置文件,我們可以使用Configobj和ConfigParser模塊,個人推薦使用Configobj模塊,因為Configobj相比于ConfigParser,優勢在于Configobj模塊的使用更加清晰簡單(其實是我看到ConfigParser模塊好像復雜一點,自己選了個簡單點的模塊而已,哈哈哈哈哈)。
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'# 只要進行了修改(包括新增刪除等)的操作,記得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的內容寫入到test.ini文件
7、創建新的配置文件
from configobj import ConfigObj# 實例化一個ConfigObj對象config = ConfigObj()# filename指定新創建的文件路徑和名稱config.filename = ’./my_cfg.ini’# 寫入配置信息config[’people’] = {}config[’people’][’name’] = ’zzbj’config[’people’][’age’] = ’18’config.write()
以上就是python用Configobj模塊讀取配置文件的詳細內容,更多關于python Configobj模塊的資料請關注好吧啦網其它相關文章!
相關文章:
1. vue實現web在線聊天功能2. JavaEE SpringMyBatis是什么? 它和Hibernate的區別及如何配置MyBatis3. JavaScript實現頁面動態驗證碼的實現示例4. Springboot 全局日期格式化處理的實現5. Java使用Tesseract-Ocr識別數字6. 完美解決vue 中多個echarts圖表自適應的問題7. Python使用urlretrieve實現直接遠程下載圖片的示例代碼8. SpringBoot+TestNG單元測試的實現9. 在Chrome DevTools中調試JavaScript的實現10. 解決Android Studio 格式化 Format代碼快捷鍵問題
