樣例文件
讀取配置文件
- 示例文件: example.py
# -*- coding: utf-8 -*-
import ConfigParser
import string
config=ConfigParser.ConfigParser()
config.read(u'/proj/conf/example_conf')
print string.upper(config.get("book","title")),
print "by",config.get("book","author"),
print "("+config.get("book","email")+")"
print
print config.get("size","size")
print
print config.sections()
for section in config.sections():
print section
for option in config.options(section):
print " ",option,"=",config.get(section,option)
- example.py文件執行結果
CONFIGPARSER模塊教程 by 大頭爸爸 (366500050@qq.com)
1024
['book', 'size', 'other']
book
title = ConfigParser模塊教程
author = 大頭爸爸
email = 366500050@qq.com
time = 2012-09-20 22:04:55 size
size = 1024 other
blog = csdn.n
寫入配置文件
- 示例
import ConfigParser
import sys
config=ConfigParser.ConfigParser()
config.add_section("book")
config.set("book","title","這是標題")
config.set("book","author","大頭爸爸")
config.add_section("size")
config.set("size","size",1024)
config.write(sys.stdout)
- 執行結果
[book]
title = 這是標題
author = 大頭爸爸
[size]
size = 1024
ConfigParser方法
- 建立ConfigParser實例
config=ConfigParser.ConfigParser()
- 返回配置文件中節序列
config.sections()
- 返回某個項目中的全部鍵的序列
config=ConfigParser.ConfigParser()
config.options(section)
- 返回section節中,option的鍵值
config=ConfigParser.ConfigParser()
config.get(section,option)
- 添加一個配置文件節點(str)
config=ConfigParser.ConfigParser()
config.add_section(str)
- 設置section節點中,鍵名爲option的值(val)
config=ConfigParser.ConfigParser()
config.set(section,option,val)
- 讀取配置文件
config=ConfigParser.ConfigParser()
config.read(filename)
- 寫入配置文件
config=ConfigParser.ConfigParser()
config.write(obj_file)
綜合實例
#coding=utf-8
import ConfigParser
def writeConfig(filename):
config = ConfigParser.ConfigParser()
# set db
section_name = 'db'
config.add_section( section_name )
config.set( section_name, 'dbname', 'MySQL')
config.set( section_name, 'host', '127.0.0.1')
config.set( section_name, 'port', '80')
config.set( section_name, 'password', '123456')
config.set( section_name, 'databasename', 'test')
# set app
section_name = 'app'
config.add_section( section_name )
config.set( section_name, 'loggerapp', '192.168.20.2')
config.set( section_name, 'reportapp', '192.168.20.3')
# write to file
config.write( open(filename, 'a') )
def updateConfig(filename, section, **keyv):
config = ConfigParser.ConfigParser()
config.read(filename)
print config.sections()
for section in config.sections():
print "[",section,"]"
items = config.items(section)
for item in items:
print "\t",item[0]," = ",item[1]
print config.has_option("dbname", "MySQL")
print config.set("db", "dbname", "11")
print "..............."
for key in keyv:
print "\t",key," = ", keyv[key]
config.write( open(filename, 'r+') )
if __name__ == '__main__':
file_name = 'test.ini'
writeConfig(file_name)
updateConfig(file_name, 'app', reportapp = '192.168.100.100')
print "end__"