Python中的ConfigParser模塊使用詳解
1.基本的讀取配置文件
-read(filename) 直接讀取ini文件內(nèi)容
-sections() 得到所有的section,并以列表的形式返回
-options(section) 得到該section的所有option
-items(section) 得到該section的所有鍵值對(duì)
-get(section,option) 得到section中option的值,返回為string類(lèi)型
-getint(section,option) 得到section中option的值,返回為int類(lèi)型,還有相應(yīng)的getboolean()和getfloat() 函數(shù)。
2.基本的寫(xiě)入配置文件
-add_section(section) 添加一個(gè)新的section
-set( section, option, value) 對(duì)section中的option進(jìn)行設(shè)置,需要調(diào)用write將內(nèi)容寫(xiě)入配置文件。
3.基本例子
test.conf [sec_a] a_key1 = 20 a_key2 = 10 [sec_b] b_key1 = 121 b_key2 = b_value2 b_key3 = $r b_key4 = 127.0.0.1
parse_test_conf.py
import ConfigParser
cf = ConfigParser.ConfigParser()
#read config
cf.read("test.conf")
# return all section
secs = cf.sections()
print 'sections:', secs
opts = cf.options("sec_a")
print 'options:', opts
kvs = cf.items("sec_a")
print 'sec_a:', kvs
#read by type
str_val = cf.get("sec_a", "a_key1")
int_val = cf.getint("sec_a", "a_key2")
print "value for sec_a's a_key1:", str_val
print "value for sec_a's a_key2:", int_val
#write config
#update value
cf.set("sec_b", "b_key3", "new-$r")
#set a new value
cf.set("sec_b", "b_newkey", "new-value")
#create a new section
cf.add_section('a_new_section')
cf.set('a_new_section', 'new_key', 'new_value')
#write back to configure file
cf.write(open("test.conf", "w"))
得到終端輸出:
sections: ['sec_b', 'sec_a']
options: ['a_key1', 'a_key2']
sec_a: [('a_key1', "i'm value"), ('a_key2', '22')]
value for sec_a's a_key1: i'm value
value for sec_a's a_key2: 22
更新后的test.conf
[sec_b] b_newkey = new-value b_key4 = 127.0.0.1 b_key1 = 121 b_key2 = b_value2 b_key3 = new-$r [sec_a] a_key1 = i'm value a_key2 = 22 [a_new_section] new_key = new_value
4.Python的ConfigParser Module中定義了3個(gè)類(lèi)對(duì)INI文件進(jìn)行操作。分別是RawConfigParser、ConfigParser、SafeConfigParser。RawCnfigParser是最基礎(chǔ)的INI文件讀取類(lèi),ConfigParser、SafeConfigParser支持對(duì)%(value)s變量的解析。
設(shè)定配置文件test2.conf
[portal] url = http://%(host)s:%(port)s/Portal host = localhost port = 8080
使用RawConfigParser:
import ConfigParser
cf = ConfigParser.RawConfigParser()
print "use RawConfigParser() read"
cf.read("test2.conf")
print cf.get("portal", "url")
print "use RawConfigParser() write"
cf.set("portal", "url2", "%(host)s:%(port)s")
print cf.get("portal", "url2")
得到終端輸出:
use RawConfigParser() read http://%(host)s:%(port)s/Portal use RawConfigParser() write %(host)s:%(port)s
改用ConfigParser:
import ConfigParser
cf = ConfigParser.ConfigParser()
print "use ConfigParser() read"
cf.read("test2.conf")
print cf.get("portal", "url")
print "use ConfigParser() write"
cf.set("portal", "url2", "%(host)s:%(port)s")
print cf.get("portal", "url2")
得到終端輸出:
use ConfigParser() read http://localhost:8080/Portal use ConfigParser() write localhost:8080
改用SafeConfigParser:
import ConfigParser
cf = ConfigParser.SafeConfigParser()
print "use SafeConfigParser() read"
cf.read("test2.conf")
print cf.get("portal", "url")
print "use SateConfigParser() write"
cf.set("portal", "url2", "%(host)s:%(port)s")
print cf.get("portal", "url2")
得到終端輸出(效果同ConfigParser):
use SafeConfigParser() read http://localhost:8080/Portal use SateConfigParser() write localhost:8080
相關(guān)文章
python超詳細(xì)實(shí)現(xiàn)字體反爬流程
大家好,本篇文章主要講的是python查策網(wǎng)字體反爬實(shí)例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下2022-05-05
Python基于DB-API操作MySQL數(shù)據(jù)庫(kù)過(guò)程解析
這篇文章主要介紹了Python基于DB-API操作MySQL數(shù)據(jù)庫(kù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
python實(shí)現(xiàn)兩個(gè)dict合并與計(jì)算操作示例
這篇文章主要介紹了python實(shí)現(xiàn)兩個(gè)dict合并與計(jì)算操作,結(jié)合具體實(shí)例形式分析了Python使用collections.Counter進(jìn)行字典dict合并與遍歷輸出相關(guān)操作技巧,需要的朋友可以參考下2019-07-07
如何在python開(kāi)發(fā)工具PyCharm中搭建QtPy環(huán)境(教程詳解)
這篇文章主要介紹了在python開(kāi)發(fā)工具PyCharm中搭建QtPy環(huán)境,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
理解深度學(xué)習(xí)之深度學(xué)習(xí)簡(jiǎn)介
這篇文章主要是關(guān)于深度學(xué)習(xí)的簡(jiǎn)介,對(duì)大家學(xué)習(xí)了解機(jī)器深度學(xué)習(xí)有一定的幫助,以后會(huì)持續(xù)更新本系列,希望能為大家?guī)?lái)一些收貨,讓我們一起來(lái)看看下面的文章吧2021-04-04
Python字典fromkeys()方法使用代碼實(shí)例
這篇文章主要介紹了Python字典fromkeys()方法使用代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07

