天天看點

python筆記15-ini配置檔案(configparser)

前言

使用配置檔案來靈活的配置一些參數是一件很常見的事情,配置檔案的解析并不複雜,在python裡更是如此,在官方釋出的庫中就包含有做這件事情的庫,那就是configParser

configParser解析的配置檔案的格式比較象ini的配置檔案格式,就是檔案中由多個section構成,每個section下又有多個配置項

ini

1.ini配置檔案格式如下:

2.section不能重複,裡面資料通過section去查找,每個seletion下可以有多個key和vlaue的鍵值對,注釋用英文分号(????

configparser

1.python3裡面自帶configparser子產品來讀取ini檔案

注意:python2的版本是Configparser

2.在pycharm裡面,建立一個ini檔案:右鍵New->File, 輸入框直接寫一個.ini字尾檔案就行了,然後寫資料

python筆記15-ini配置檔案(configparser)

3.注釋裡面有中文的話,這裡代碼跟python2是有點差別的,python2裡面直接conf.read(cfgpath)就可以了,python3需要加個參數:encoding="utf-8"

注意:如果ini檔案裡面寫的是數字,讀出來預設是字元串

python筆記15-ini配置檔案(configparser)

運作結果:

remove

1.如果想删除section中的一項,比如我想删除[email_163]下的port 這一行

2.删除整個section這一項

3.參考代碼:

add

1.新增一個section

2.section裡面新增key和value

write寫入

1.write寫入有兩種方式,一種是删除原檔案内容,重新寫入:w

conf.write(open(cfgpath, "w")) # 删除原檔案重新寫入

另外一種是在原檔案基礎上繼續寫入内容,追加模式寫入:a

conf.write(open(cfgpath, "a")) # 追加模式寫入

2.前面講的remove和set方法并沒有真正的修改ini檔案内容,隻有當執行conf.write()方法的時候,才會修改ini檔案内容,舉個例子:在ini檔案上追加寫入一項section内容

運作後會發現ini檔案最後新增了寫入的内容了

python筆記15-ini配置檔案(configparser)

set修改ini檔案

1.比如我想把前面ini檔案裡面的[email_163]下的port改成"中文"

注意:這裡寫入中文的話,需要加上寫入的編碼格式:encoding="utf-8"

python筆記15-ini配置檔案(configparser)

python自動化交流 QQ群:779429633