天天看点

Python ConfigParser

ConfigParser

在深度学习中,我打算用这个类来处理参数文件,xx.ini或者xx.cfg。

一、基本操作

1、基本的读取配置文件

  • read(filename) - 直接读取ini,cfg文件内容
  • sections() - 得到所有的section,并以列表的形式返回
  • options(section) - 得到该section的所有option
  • items(section) - 得到该section的所有键值对
  • get(section,option) - 得到section中option的值,返回为string类型
  • getint(section,option) - 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。

2、基本的写入配置文件

  • add_section(section) - 添加一个新的section
  • set( section, option, value) - 对section中的option进行设置,需要调用write将内容写入配置文件。

以上可能有些不全,我就记录了我常用的一些操作,如果有时候还可以getboolean类型的数据。

二、Demo

1、读取parameter文件:test.ini

[aaa]
a1 = a1
a2 = 222

[bbb]
b1 = b1
b2 = true           

这个文件的格式:

节: [session]

参数: 键=值 name = value

读取test.ini

config = ConfigParser()
config.read('test.ini')
for section in config.sections():
    for k, v in config.items(section):
        print(k, v)           

最关键的地方是配合@property的使用,就能将配置文件的所有参数转换为一个类的所有参数

@property
def aaa_a1(self):
    return self._config.get('aaa', 'a1')           

2、写入文件

config.write(open(self.config_file, 'w'))