日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python中的ConfigParser模塊使用詳解

系統(tǒng) 1729 0

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

          


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 和静县| 墨脱县| 汝阳县| 安徽省| SHOW| 大田县| 禹州市| 高青县| 莆田市| 周宁县| 满洲里市| 安多县| 遂溪县| 西华县| 达尔| 武宣县| 梅河口市| 乐至县| 青冈县| 崇信县| 衡山县| 八宿县| 彰化市| 大庆市| 资溪县| 招远市| 平舆县| 尤溪县| 丰镇市| 安庆市| 海盐县| 无为县| 连城县| 陵水| 日喀则市| 安庆市| 犍为县| 诏安县| 洛隆县| 通辽市| 松滋市|