前言
使用配置文件來靈活的配置一些參數是一件很常見的事情,配置文件的解析并不復雜,在python里更是如此,在官方發布的庫中就包含有做這件事情的庫,那就是configParser。
configparser模塊定義
該模塊適用于配置文件的格式與windows ini文件類似,可以包含一個或多個節(section),每個節可以有多個參數(鍵=值)。
configparser模塊
該模塊在Python2中叫ConfigParser
在python3中模塊名修改為configparser
該模塊的作用 就是使用模塊中的RawConfigParser(),ConfigParser(),SafeConfigParser()這三個方法(三者擇其一),創建一個對象使用對象的方法對指定的配置文件做增刪改查操作。
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筆記12全部內容,如果覺得對你有幫助,就點個“收藏”吧!
如果還有疑問的地方,歡迎評論留言給我們~