Python中configparser模塊有哪些用法?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)建站專(zhuān)注于港閘企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,購(gòu)物商城網(wǎng)站建設(shè)。港閘網(wǎng)站建設(shè)公司,為港閘等地區(qū)提供建站服務(wù)。全流程按需策劃,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
configparser模塊的常見(jiàn)用法
configparser模塊用于生成與windows.ini文件類(lèi)似格式的配置文件,可以包含一節(jié)或多節(jié)(section),每個(gè)節(jié)可以有一個(gè)或多個(gè)參數(shù)(鍵=值)
在學(xué)習(xí)這個(gè)模塊之前,先來(lái)看一個(gè)經(jīng)常見(jiàn)到的配置文檔:
[DEFAULT] serveraliveinterval = 45 compression = yes compressionlevel = 9 forwardx11 = yes [bitbucket.org] user = admin [topsecret.server.com] port = 1000345 forwardx11 = no
1.創(chuàng)建配置文件
現(xiàn)在來(lái)用python中的configparser模塊生成一個(gè)與上面相同的配置文檔。
#先導(dǎo)入configparser模塊 import configparser #為其中一個(gè)方法定義一個(gè)變量 cfp=configparser.ConfigParser() #定義"DEFAULT"節(jié)及其子參數(shù) cfp["DEFAULT"]={"ServerAliveInterval":45, "Compression":"yes", "CompressionLevel":9, "ForwardX11":"yes" } #定義“bitbucket.org”節(jié) cfp["bitbucke.ort"]={"USER":"admin"} #定義"topsecret.server.com"節(jié)及其參數(shù) cfp["topsecret.server.com"]={"Port":1000345,"ForwardX11":"no"} #把上面定義的節(jié)及其參數(shù)寫(xiě)入"cfp.ini"這個(gè)文件 with open("cfp.ini","w") as f: cfp.write(f)
運(yùn)行程序后,生成的配置文件如下:
[DEFAULT] serveraliveinterval = 45 compression = yes compressionlevel = 9 forwardx11 = yes [bitbucket.org] user = admin [topsecret.server.com] port = 1000345 forwardx11 = no
可以看到,跟文章開(kāi)始處的配置文件格式一模一樣的。
2.讀取配置文件中的變量
目標(biāo)配置文件就已經(jīng)生成了,那現(xiàn)在想讀取一個(gè)配置文件里的某個(gè)選項(xiàng),該怎么做呢?
import configparser cfp=configparser.ConfigParser() #讀取目標(biāo)配置文件 cfp.read("cfp.ini") #打印目標(biāo)配置文件的節(jié) print(cfp.sections())
理論上,讀取配置文件的節(jié),所得是一個(gè)列表,運(yùn)行腳本,得到的字段為:
['bitbucket.org', 'topsecret.server.com']
這是因?yàn)榈谝还?jié)是“DEFAULT”字段,這個(gè)字段是默認(rèn)對(duì)整個(gè)配置文件生效的,
所以"DEFAULT"默認(rèn)是不會(huì)顯示出來(lái)。
如果把配置文件中的“DEFAULT”改成“DEFAULTS”,如下:
[DEFAULTS] serveraliveinterval = 45 compression = yes compressionlevel = 9 forwardx11 = yes [bitbucket.org] user = admin [topsecret.server.com] port = 1000345 forwardx11 = no
然后再用上面的代碼來(lái)讀取整個(gè)配置文件的節(jié),結(jié)果如下:
['DEFAULTS', 'bitbucket.org', 'topsecret.server.com'] 打印“bitbucket.ort”節(jié)下所有的鍵和值 import configparser cfp=configparser.ConfigParser() #讀取目標(biāo)配置文件 cfp.read("cfp.ini") print(cfp.items("bitbucket.org"))
從返回結(jié)果可以看到,把"DEFAULT"這個(gè)節(jié)下面的鍵和值也一起返回了,正如前面所說(shuō)的,“DEFAULT”是默認(rèn)全局生效的。
[('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('forwardx11', 'yes'), ('user', 'admin')]
打印“bitbucket.ort”節(jié)下所有的鍵。
import configparser cfp=configparser.ConfigParser() #讀取目標(biāo)配置文件 cfp.read("cfp.ini") print(cfp.options("bitbucket.org"))
結(jié)果同上面一樣,"DEFAULT"下面的鍵也被一起返回了。
['user', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11']
3.測(cè)試配置文件中的鍵和值
1.測(cè)試某個(gè)選項(xiàng)是否在配置文件中,可以使用如下方法:
import configparser cfp=configparser.ConfigParser() #讀取目標(biāo)配置文件 cfp.read("cfp.ini") print("topsecret.server.com" in cfp)
得到的結(jié)果為:
True
2.測(cè)試某個(gè)節(jié)下面是否有某個(gè)鍵
import configparser cfp=configparser.ConfigParser() #讀取目標(biāo)配置文件 cfp.read("cfp.ini") print(cfp.get("bitbucket.org","compression"))
返回如下:
yes
4.修改配置文件
1.向配置文件里添加一個(gè)鍵值對(duì)
代碼如下:
import configparser cfp=configparser.ConfigParser() #打開(kāi)目標(biāo)配置文件 cfp.read("cfp.ini") #添加節(jié) cfp.add_section("conf") #為添加的節(jié)設(shè)置鍵和值 cfp["conf"]["group"]="group01" #把修改寫(xiě)入配置文件 cfp.write(open("cfp.ini","w"))
添加后的文件如下:
[DEFAULTS] serveraliveinterval = 45 compression = yes compressionlevel = 9 forwardx11 = yes [bitbucket.org] user = admin [topsecret.server.com] port = 1000345 forwardx11 = no [conf] group = group01
可以看到已經(jīng)增加一個(gè)“conf”的節(jié),“conf”節(jié)下面增加一個(gè)值為“group01”的鍵“group”。
2.刪除配置文件的節(jié)及其對(duì)就的鍵和值
import configparser cfp=configparser.ConfigParser() #讀取目標(biāo)配置文件 cfp.read("cfp.ini") #從“topsecret.server.com”節(jié)中刪除 cfp.remove_option("topsecret.server.com","forwardx11") cfp.write(open("cfp.ini","w"))
返回結(jié)果如下:
[DEFAULT] serveraliveinterval = 45 compression = yes compressionlevel = 9 forwardx11 = yes [bitbucket.org] user = admin [topsecret.server.com] port = 1000345
可以看到"forwardx11"這個(gè)鍵值對(duì)已經(jīng)從"topsecret.server.com"這個(gè)節(jié)中刪除掉了。
3.為某個(gè)鍵設(shè)置值:
代碼如下:
import configparser cfp=configparser.ConfigParser() #讀取目標(biāo)配置文件 cfp.read("cfp.ini") #為"topsecret.server.com"節(jié)添加一個(gè)"k1"鍵,其值為“v1” cfp.set("topsecret.server.com","k1","v1") #為“conf”節(jié)添加一個(gè)"k100"鍵,其值為"v100" cfp.set("conf","k100","v100") cfp.write(open("cfp.ini","w")) print(cfp.sections())
返回結(jié)果為:
[DEFAULT] serveraliveinterval = 45 compression = yes compressionlevel = 9 forwardx11 = yes [bitbucker.ort] user = admin [topsecret.server.com] port = 1000345 forwardx11 = no k1 = v1 [conf] group = group01 k100 = v100
看完上述內(nèi)容,你們掌握Python中configparser模塊有哪些用法的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
本文名稱(chēng):Python中configparser模塊有哪些用法
URL鏈接:http://jinyejixie.com/article16/gpgsdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站營(yíng)銷(xiāo)、虛擬主機(jī)、網(wǎng)站設(shè)計(jì)、小程序開(kāi)發(fā)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)