前言
使用配置檔案來靈活的配置一些參數是一件很常見的事情,配置檔案的解析并不複雜,在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字尾檔案就行了,然後寫資料

3.注釋裡面有中文的話,這裡代碼跟python2是有點差別的,python2裡面直接conf.read(cfgpath)就可以了,python3需要加個參數:encoding="utf-8"
注意:如果ini檔案裡面寫的是數字,讀出來預設是字元串
運作結果:
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檔案最後新增了寫入的内容了
set修改ini檔案
1.比如我想把前面ini檔案裡面的[email_163]下的port改成"中文"
注意:這裡寫入中文的話,需要加上寫入的編碼格式:encoding="utf-8"
python自動化交流 QQ群:779429633