配置文件來靈活的配置一些參數,使用的庫configParser
ini
1.ini配置文件格式如下:
Python3,讀取ini文件,需要加參數:encoding="utf-8"
conf.read(cfgpath,encoding="utf-8")
#讀取ini文件的信息 import configparser import os curpath = os.path.dirname(os.path.realpath(__file__)) cfgpath = os.path.join(curpath,"info") #創建對象 conf = configparser.ConfigParser() #讀取ini文件 conf.read(cfgpath,encoding="utf-8") #獲取所有的section sections = conf.sections() print(sections) #獲取具體的section itmes = conf.items("email-163") print(itmes)
remover
1.刪除section中的一項,比如我想刪除[email_163]下的port 這一行
#刪除一個section中的一個item,以鍵值KEY標識 conf.remove_option("email-163","port")
2.刪除整個section這一項
conf.remove_section("email-163")
add
1.新增一個section
#添加一個select conf.add_section("emali_tel")
2.section里面新增key和value
#往select添加key和value conf.set("emali_tel","sender","wiwi@tel.com") conf.set("emali_tel","port","5566")
write寫入
1.write寫入有兩種方式,一種是刪除原文件內容,重新寫入:w
conf.write(open(cfgpath, “w”)) # 刪除原文件重新寫入
另外一種是在原文件基礎上繼續寫入內容,追加模式寫入:a
conf.write(open(cfgpath, “a”)) # 追加模式寫入
remove和set方法並沒有真正的修改ini文件內容,只有當執行conf.write()方法的時候,才會修改ini文件內容,舉個例子:在ini文件上追加寫入一項section內容
import configparser import os curpath = os.path.dirname(os.path.realpath(__file__)) cfgpath = os.path.join(curpath,"info") #創建對象 conf = configparser.ConfigParser() #讀取ini文件 conf.read(cfgpath,encoding="utf-8") #獲取所有的section sections = conf.sections() print(sections) #獲取具體的section itmes = conf.items("email-163") print(itmes) #添加一個select conf.add_section("emali_tel") #往select添加key和value conf.set("emali_tel","sender","wiwi@tel.com") conf.set("emali_tel","port","5566") itmes = conf.items("emali_tel") print(itmes) #追加模式寫入 conf.write(open(cfgpath,"a"))
set修改ini文件
1.比如把前面ini文件里面的[email_163]下的port改成”中文”
敲黑板:這里寫入中文的話,需要加上寫入的編碼格式:encoding=”utf-8”