Python使用ConfigParser读写ini配置文件,,ini文件格式概述ini


ini文件格式概述

ini 文件是文本文件,ini文件的数据格式一般为:

[Section1 Name] KeyName1=value1 KeyName2=value2 ...[Section2 Name] KeyName1=value1 KeyName2=value2

ini 文件可以分为几个 Section,每个 Section 的名称用 [] 括起来,在一个 Section 中,可以有很多的 Key,每一个 Key 可以有一个值并占用一行,格式是 Key=value。

ConfigParser 类概述

ConfigParser 可以用来读取ini文件的内容,如果要更新的话要使用 SafeConfigParser. ConfigParse 具有下面一些函数:

ConfigParser读取ini

read(filename) 直接读取ini文件内容readfp(fp) 可以读取一打开的文件sections() 得到所有的section,并以列表的形式返回options(sections) 得到某一个section的所有optionget(section,option) 得到section中option的值,返回为string类型

ConfigParser 写入 Ini文件

写入的话需要使用 SafeConfigParser, 因为这个类继承了ConfigParser的所有函数,

而且实现了下面的函数:

set( section, option, value) 对section中的option进行设置

ConfigParser 使用例子

from ConfigParser import SafeConfigParserfrom StringIO import StringIOf = StringIO()scp = SafeConfigParser()print '-'*20, ' following is write ini file part ', '-'*20sections = ['s1','s2']for s in sections:    scp.add_section(s)    scp.set(s,'option1','value1')    scp.set(s,'option2','value2')scp.write(f)print f.getvalue()print '-'*20, ' following is read ini file part ', '-'*20f.seek(0)scp2 = SafeConfigParser()scp2.readfp(f)sections = scp2.sections()for s in sections:    options = scp2.options(s)    for option in options:        value = scp2.get(s,option)        print "section: %s, option: %s, value: %s" % (s,option,value)

输出结果为:

--------------------  following is write ini file part  --------------------[s2]option2 = value2option1 = value1[s1]option2 = value2option1 = value1--------------------  following is read ini file part  --------------------section: s2, option: option2, value: value2section: s2, option: option1, value: value1section: s1, option: option2, value: value2section: s1, option: option1, value: value1

评论关闭