# configparser
import configparser
config = configparser.ConfigParser()
config['DB'] = {
'host': '10.10.10.10',
'port': 3306
}
config['DEFAULT'] = {
'abc': 123
}
with open('config.ini', 'w') as f:
config.write(f) # 将config对象写入配置文件
# f.write(config) 文件写入会报错,只能用上面configparser 提供的写入方法
config.read('config.ini') # 必须先读取配置文件
print(config.sections()) # ['DB'] 列出配置文件包含的组,DEFAULT是默认全局配置,不返回
print('DB' in config) # True 判断是否存在该配置组
print(config['DB']['host'] # 10.10.10.10 读取配置
print(config['DB']) # <Section: DB> 返回配置组,是可迭代对象, 对象中包含DEFAULT全局配置
for key in config['DB']:
print(key)
"""
host
port
abc
"""
print(config.options('DB')) # ['host', 'port', 'abc'] 获取配置组下所有key
print(config.items('DB')) # [('abc', '123'), ('host', '10.10.10.10'), ('port', '3306')] 获取配置组下所有配置,列表返回键值对
config.add_section('add.config') # 添加配置组
config.add_section('del.config')
config.set('add.config', 'k1', 'v1') # 添加配置
config.set('add.config', 'k2', 'v2')
config.remove_option('add.config', 'k1') # 删除配置
config.remove_section('del.config') # 删除配置组
config.write(open('config.ini', 'w')) # 编辑后必须使用.write进行写入,否则不生效