在應用程式中,通常使用設定檔定義一些參數。例如,資料庫設定檔用於記錄資料庫的字串串連,主機名稱,使用者名稱,密碼等資訊。Windows的ini檔案就是典型的設定檔,ini檔案由多個塊組成,每個塊由多個配置項組成。
代碼[ODBC 32 bit Data Sources]
MS Access Database = Microsoft Access Driver (*.mdb) (32)
Excel Files = Microsoft Excel Driver (*.xls) (32)
dBASE Filrs = Microsoft dBase Driver (*.dbf) (32)
[MS Access Database]
Driver32 = C:\WINDOWS\system32\odbcjt32.dll
[Excel Files]
Driver32 = C:\WINDOWS\system32\odbcjt32.dll
[dBASE Files]
Driver32 = C:\WINDOWS\system32\odbcjt32.dll
其中每個方括弧表示一個配置塊,配置塊下的多個賦值運算式就是配置項。
1. 讀取設定檔的內容
Python標準庫中的ConfigParser模組用於解析設定檔。ConfigParser模組的ConfigParser類可以讀取ini檔案的內容
代碼#! /usr/bin/env python
#coding=utf-8
import ConfigParser
config = ConfigParser.ConfigParser()
config.read("odbc.ini")
sections = config.sections()
print sections
o = config.options("ODBC 32 bit Data Sources")
print o
v = config.items("ODBC 32 bit Data Sources")
print v
access = config.get("ODBC 32 bit Data Sources", "Excel Files")
print access
2. 寫入新的設定項目
config.add_section("ODBC Driver Count")
config.set("ODBC Driver Count", "count", 2)
f = open("odbc.ini", "a+")
config.write(f)
f.close
3. 修改設定檔
設定檔的修改需要先讀取ini檔案,然後調用set方法設定指定配置塊下某個配置項的內容,最後寫入設定檔。
代碼#! /usr/bin/env python
#coding=utf-8
import ConfigParser
config = ConfigParser.ConfigParser()
config.read("odbc.ini")
config.remove_option("ODBC Driver Count", "count")
config.remove_section("ODBC Driver Count")
f = open("odbc.ini", "w+")
config.write(f)
f.close()