Python讀寫配置文件模塊--Configobj


一、介紹

我們在項目的開發過程中應該會遇到這樣的問題:我們的項目讀取某個配置文件,然后才能按照配置的信息正常運行服務,當我們需要對修改服務的某些信息時,可以直接修改這個配置文件,重啟服務即可,不用再去打開項目代碼進行修改,這樣方便了我們后期運維人員的工作。

讀取配置文件信息,修改配置文件,我們可以使用Configobj和ConfigParser模塊,個人推薦使用Configobj模塊,因為Configobj相比於ConfigParser,優勢在於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的內容寫入到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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM