欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中的ConfigParser模塊使用詳解

 更新時間:2015年05月04日 09:15:33   投稿:goldensun  
這篇文章主要介紹了Python中的ConfigParser模塊的使用,ConfigParser模塊主要被用來讀寫配置模塊,需要的朋友可以參考下

1.基本的讀取配置文件

    -read(filename) 直接讀取ini文件內(nèi)容

    -sections() 得到所有的section,并以列表的形式返回

    -options(section) 得到該section的所有option

    -items(section) 得到該section的所有鍵值對

    -get(section,option) 得到section中option的值,返回為string類型

    -getint(section,option) 得到section中option的值,返回為int類型,還有相應(yīng)的getboolean()和getfloat() 函數(shù)。

2.基本的寫入配置文件

    -add_section(section) 添加一個新的section

    -set( section, option, value) 對section中的option進(jìn)行設(shè)置,需要調(diào)用write將內(nèi)容寫入配置文件。

 

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個類對INI文件進(jìn)行操作。分別是RawConfigParser、ConfigParser、SafeConfigParser。RawCnfigParser是最基礎(chǔ)的INI文件讀取類,ConfigParser、SafeConfigParser支持對%(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)文章

  • 從零學(xué)Python之入門(五)縮進(jìn)和選擇

    從零學(xué)Python之入門(五)縮進(jìn)和選擇

    空白在Python中是重要的。事實上行首的空白是重要的。它稱為縮進(jìn)。在邏輯行首的空白(空格和制表符)用來決定邏輯行的縮進(jìn)層次,從而用來決定語句的分組。
    2014-05-05
  • python 字符串轉(zhuǎn)列表 list 出現(xiàn)\ufeff的解決方法

    python 字符串轉(zhuǎn)列表 list 出現(xiàn)\ufeff的解決方法

    下面小編就為大家?guī)硪黄猵ython 字符串轉(zhuǎn)列表 list 出現(xiàn)\ufeff的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Python常見錯誤:IndexError:?list?index?out?of?range解決

    Python常見錯誤:IndexError:?list?index?out?of?range解決

    最近在寫一個爬蟲程序,但是卻出現(xiàn)了錯誤提示IndexError:?list?index?out?of?range,所以下面這篇文章主要給大家介紹了關(guān)于Python常見錯誤:IndexError:?list?index?out?of?range的解決方法,需要的朋友可以參考下
    2023-01-01
  • Python的Tkinter點擊按鈕觸發(fā)事件的例子

    Python的Tkinter點擊按鈕觸發(fā)事件的例子

    今天小編就為大家分享一篇Python的Tkinter點擊按鈕觸發(fā)事件的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python實現(xiàn)的發(fā)郵件功能示例

    python實現(xiàn)的發(fā)郵件功能示例

    這篇文章主要介紹了python實現(xiàn)的發(fā)郵件功能,結(jié)合實例形式分析了Python使用網(wǎng)易郵箱發(fā)送郵件的相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • 一文詳解Python中復(fù)合語句的用法

    一文詳解Python中復(fù)合語句的用法

    復(fù)合語句是包含其它語句(語句組)的語句;它們會以某種方式影響或控制所包含其它語句的執(zhí)行。通常,復(fù)合語句會跨越多行,雖然在某些簡單形式下整個復(fù)合語句也可能包含于一行之內(nèi)。本文就來講講Python中復(fù)合語句的使用
    2022-07-07
  • pycharm全局修改方式

    pycharm全局修改方式

    這篇文章主要介紹了pycharm全局修改方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Python數(shù)據(jù)分析之彩票的歷史數(shù)據(jù)

    Python數(shù)據(jù)分析之彩票的歷史數(shù)據(jù)

    這篇文章主要介紹了Python數(shù)據(jù)分析之彩票的歷史數(shù)據(jù),文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • python實現(xiàn)socket客戶端和服務(wù)端簡單示例

    python實現(xiàn)socket客戶端和服務(wù)端簡單示例

    這篇文章主要介紹了python實現(xiàn)socket客戶端和服務(wù)端簡單示例,需要的朋友可以參考下
    2014-02-02
  • pygame游戲之旅 按鈕上添加文字的方法

    pygame游戲之旅 按鈕上添加文字的方法

    這篇文章主要為大家詳細(xì)介紹了pygame游戲之旅的第11篇,按鈕上添加文字的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11

最新評論