13.2.1. RawConfigParser对象


RawConfigParser实例包含以下方法:

RawConfigParser.defaults()
以dict形式返回该实例的默认值

RawConfigParser.sections()
以list形式返回所有的sections, 默认值不包括在内

RawConfigParser.add_sections(my_section)
增加一个名为my_section的section, 如果改名在已经存在, 会抛出DuplicateSectionError, my_section的值不能是DEFAULT(大小写不敏感,e.g. default, DeFault….), 否则会抛出ValueError异常

RawConfigParser.has_section(my_section)
判断是否存在名为my_section的section, 参数为DFAULT时会返回false

RawConfigParser.options(my_section)
以list形式列出my_section下的所有配置项

RawConfigParser.has_option(my_section,my_option)
判断指定section(my_section)内是否有my_option配置项

RawConfigParser.read(file_names)
读取配置文件集(一组列表形式表示的文件集合), 返回一个list, 包含所有被成功解析的文件. file_names也可以是一个(string/Unicode string), 表示一个单独文件. 如果文件不能被打开,则会被忽略(ignored). 参数设置为文件list可以方便指定某个可能的文件路径(比如当前文件夹, 用户根目录, 或者某些系统级的目录). 如果给定的文件都不存在, ConfigParser实例会持有一个空的数据集合[]. 如果程序需要从其他文件加载一些初始值, 那么在调用read()方法之前需要先调用readfp()方法

import ConfigParser, os
config = ConfigParser.ConfigParser()
config.readfp(open('dafaults.cfg'))
config.read(['site.cfg', os.path.expanduser('~/.myapp.cfg')])

RawconfigParser.readfp(fp[, filename])
从文件或类文件对象(只有readline()方法is userd). 如果filename参数被忽略(ommitted) 且 fp有name属性, name属性会被当做filename参数, 默认是<???>.

RawconfigParser.get(my_section,my_option)
获取指定section(my_section)先配置项(my_option)的值

RawconfigParser.getint(my_section,my_option)
获取指定section(my_section)先配置项(my_option)的值, 并将其转为int

RawconfigParser.getfloat(my_section,my_option)
获取指定section(my_section)先配置项(my_option)的值, 并将其转为float

RawconfigParser.getboolean(my_section,my_option)
获取指定section(my_section)先配置项(my_option)的值, 并将其转为bool值. Note: 仅当值为‘1’, 'yes','true''on'时(大小写不敏感),会返回True,且仅当值为'0','no','false'off'时(大小写不敏感),返回False. 其他任何值都会抛出ValueError异常

RawconfigParser.items(my_section)
以[(name,value),…]对的形式返回指定sectio(my_section)下的配置项

RawconfigParser.set(my_section,my_option,my_value)
如果my_section存在, 设置配置项my_option的值为my_value; 否则抛出NoSectionError. 尽管可以通过RawConfigParser(或CongfigParser设置raw参数为true) 来给配置项设置非string值, 但全功能性(包括magical interpolation 和输出到文件)需要string value来支持

RawconfigParser.write(fileobject)
将配置写到指定的文件对象, 然后可以通过read()方法再将其解析

RawconfigParser.remove_option(my_section, my_option)
my_section中的my_option配置项删除, my_section不存在抛NoSectionError异常. 删除成功返回True, 否则返回false.

RawconfigParser.remove_section(my_section)
删除my_section, 成功返回True, 否则返回false.

RawconfigParser.optionxform(option)
将(从文件或客户端代码导入的)配置项的名字option转换为内部用的形式. 默认会将其转为小写形式; 子类可以重写(override)改方法, 也可以通过给实例的optionxform设置相关属性来改变该方法的行为,比如给其设置str值,就会是option的值变得大小写敏感

cfgparser = ConfigParser()
...
cfgparser.optionxform = str

注意在调用optionxform()方法之前, 配置项名字两端的空白就会被strip()掉

results matching ""

    No results matching ""