生活随笔
收集整理的這篇文章主要介紹了
                                
Python ConfigParser的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
 
                                
                            
                            
                             1.基本的讀取配置文件
 -read(filename) 直接讀取ini文件內容
 -sections() 得到所有的section,并以列表的形式返回
 -options(section) 得到該section的所有option
 -items(section) 得到該section的所有鍵值對
 -get(section,option) 得到section中option的值,返回為string類型
 -getint(section,option) 得到section中option的值,返回為int類型,還有相應的getboolean()和getfloat() 函數。
 ?
 2.基本的寫入配置文件
 -add_section(section) 添加一個新的section
 -set( section, option, value) 對section中的option進行設置,需要調用write將內容寫入配置文件。
 ?
 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()????cf.read("test.conf")????secs?=?cf.sections()?print?'sections:',?secs???opts?=?cf.options("sec_a")?print?'options:',?opts???kvs?=?cf.items("sec_a")?print?'sec_a:',?kvs????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?????cf.set("sec_b",?"b_key3",?"new-$r")??cf.set("sec_b",?"b_newkey",?"new-value")??cf.add_section('a_new_section')?cf.set('a_new_section',?'new_key',?'new_value')????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文件進行操作。分別是RawConfigParser、ConfigParser、SafeConfigParser。RawCnfigParser是最基礎的INI文件讀取類,ConfigParser、SafeConfigParser支持對%(value)s變量的解析。?
 ?
 設定配置文件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?
 
 
轉載于:https://www.cnblogs.com/iplus/archive/2013/03/29/4489943.html
                            總結
                            
                                以上是生活随笔為你收集整理的Python ConfigParser的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。