这是一个简单的配置文件
[SectionOne]Status: SingleName: DerekValue: YesAge: 30Single: True [SectionTwo] FavoriteColor = Green [SectionThree] FamilyName: Johnson [Others] Route: 66 解析如下
>>> import ConfigParser>>> Config = ConfigParser.ConfigParser()>>> Config>>> Config.read("c:\\tomorrow.ini")['c:\\tomorrow.ini']>>> Config.sections()['Others', 'SectionThree', 'SectionOne', 'SectionTwo']>>>
程序
def ConfigSectionMap(section): dict1 = {} options = Config.options(section) for option in options: try: dict1[option] = Config.get(section, option) if dict1[option] == -1: DebugPrint("skip: %s" % option) except: print("exception on %s!" % option) dict1[option] = None return dict1
读取
>>> Name = ConfigSectionMap("SectionOne")['name']>>> Age = ConfigSectionMap("SectionOne")['age']>>> print "Hello %s. You are %s years old." % (Name, Age)Hello Derek. You are 30 years old.
要读布尔变量
>>> single = Config.getboolean("SectionOne", "single")>>> singleTrue
写配置文件
# lets create that config file for next time...cfgfile = open("c:\\next.ini",'w')# add the settings to the structure of the file, and lets write it out...Config.add_section('Person')Config.set('Person','HasEyes',True)Config.set('Person','Age', 50)Config.write(cfgfile)cfgfile.close()
读取可变值
[SectionOne]Param1: HelloParam2: World[SectionTwo]Param1: ${SectionOne:Param1} ${SectionOne:Param2}[SectionThree]Alpha: OneBravo: TwoCharlie: ${Alpha} Mississippi>>> import configparser>>> settings = configparser.ConfigParser()>>> settings._interpolation = configparser.ExtendedInterpolation()>>> settings.read('settings.ini')['settings.ini']>>> settings.sections()['SectionOne', 'SectionTwo', 'SectionThree']>>> settings.get('SectionTwo', 'Param1')'Hello World'>>> settings.get('SectionThree', 'Charlie')'One Mississippi'