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'))