configparser
configparser模块主要用于解析特定格式的文件,在python2中名为ConfigParser,在python3中改为configparser
支持的配置文件格式:
configparser需要特定的文件格式才能解析,这种格式类似于linux rsync和samba的配置文件,即一个用[]表示一个section,下面是ke=value形式的参数,具体如下:
[section1] k2 = 55 [section2] k2 = 44 k3 = fuzj
常用方法:
- sections() 获取所有section ,即[]里的内容
- options(section) 获取seciton下所有的key
- iterms(section) section下所有key value,形式为[(key1,value1),(key2,value2)]
- set(section,key,value) 设置section下key = value,如果不存在则创建
- add_section() 创建一个section
- remove_section() 删除section
- remove_option(section,option) 删除section下的option
- get(section,option) 获取section下option 的value
- getboolean(section,option) 获取section下option 的value,并转换为布尔值
- getfloat(section,option) 获取section下option 的value ,并转换为float类型
- getint(section,option) 获取section下option 的value,并转换为int类型
- write() 将配置写入文件
具体应用
#!/usr/bin/env python # -*- coding: UTF-8 -*- #pyversion:python3.5 #owner:fuzj import configparser config = configparser.ConfigParser() config.read('config') sec = config.sections() #打印所有section opt = config.options(sec[0]) #section1打印所有key key = config.items(sec[1]) #section2打印所有key value if not config.has_section('test'): #判断是否有testsection config.add_section('test') #增加section config.set('test','kkkk','vvvvvv') #增加key value config.remove_option(sec[0],'k1') #删除第一个section中的k1 config.write(open('config','w')) #i写入配置文件 print(sec) print(opt) print(key) 输出: ['section1', 'section2', 'hhahhahahhhaha'] ['k2'] [('k2', '44'), ('k3', 'fuzj')]
配置文件现在状态:
[section1] k2 = 55 [section2] k2 = 44 k3 = fuzj [test] kkkk = vvvvvv