configparser的用法
这是一个简单的配置文件
[SectionOne] Status: Single Name: Derek Value: Yes Age: 30 Single: True [SectionTwo] FavoriteColor = Green [SectionThree] FamilyName: Johnson [Others] Route: 66
解析如下
>>> import ConfigParser >>> Config = ConfigParser.ConfigParser() >>> Config <ConfigParser.ConfigParser instance at 0x00BA9B20> >>> 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") >>> single True
写配置文件
# 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: Hello Param2: World [SectionTwo] Param1: ${SectionOne:Param1} ${SectionOne:Param2} [SectionThree] Alpha: One Bravo: Two Charlie: ${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'