configparser用于处理特定格式的文件,其本质上是利用open来操作文件。
◆ 文件格式(test.config):
# 注释1
; 注释2
[section1] # 节点
k1 = v1 # 值
k2:v2 # 值
[section2] # 节点
k1 = v1 # 值
◆ 读数据
import configparser
config = configparser.ConfigParser()
config.read('test.config', encoding='utf-8')
#获取所有节点
ret = config.sections()
print(ret)
#获取指定节点下所有的键值对
ret = config.items('section1')
print(ret)
#获取指定节点下所有的建
ret = config.options('section1')
print(ret)
#获取指定节点下指定key的值
v = config.get('section1', 'k1')
# v = config.getint('section1', 'k1')
# v = config.getfloat('section1', 'k1')
# v = config.getboolean('section1', 'k1')
print(v)
执行结果:
['section1', 'section2']
[('k1', 'v1'), ('k2', 'v2')]
['k1', 'k2']
v1
◆ 检查数据
import configparser
config = configparser.ConfigParser()
config.read('test.config', encoding='utf-8')
#检查节点
has_sec = config.has_section('section1')
print(has_sec)
#检查指定组内的键
has_opt = config.has_option('section1', 'k1')
print(has_opt)
执行结果:
True
True
◆ 添加数据
import configparser
config = configparser.ConfigParser()
config.read('test.config', encoding='utf-8')
#添加节点
config.add_section("SEC_1")
config.write(open('test.config', 'w'))
#添加键值
config.set('section1', 'k10', "123")
config.write(open('test.config', 'w'))
◆ 删除数据
import configparser
config = configparser.ConfigParser()
config.read('test.config', encoding='utf-8')
# 删除节点
config.remove_section("SEC_1")
config.write(open('test.config', 'w'))
# 删除键值对
config.remove_option('section1', 'k1')
config.write(open('test.config', 'w'))
◆ 修改数据
#修改键值
config.set('section1', 'k10', "123")
config.write(open('test.config', 'w'))