# configparser模块
# 配置文件解析
import configparser
# 1.创建配置文件
config = configparser.ConfigParser() # 相当于一个空字典
config['DEFAULT'] = {
'men':'1',
'disk':'2',
'nic':'3'
}
# 配置文件中新起一块
config['STATICFILES_DIRS'] = {}
# 添加
config['STATICFILES_DIRS']['root'] = 'static'
# 配置文件再起一块
config['TEMPLATEFILES'] = {}
temp_obj = config['TEMPLATEFILES']
temp_obj['root'] = 'templates'
# 写入文件
with open('test.ini', 'w') as configfile:
config.write(configfile)
# 输出的配置文件内容
[DEFAULT]
men = 1
disk = 2
nic = 3
[STATICFILES_DIRS]
root = static
[TEMPLATEFILES]
root = templates
# 2.配置文件的增删改查
import configparser
config = configparser.ConfigParser()
# 读取文件
config.read('test.ini')
print(config.sections())
# [DEFAULT]含有特殊意义
# >> ['STATICFILES_DIRS', 'TEMPLATEFILES']
# 取值
print(config['TEMPLATEFILES']['root'])
# >> templates
# 判断存在
print('TEMPLATEFILES' in config)
# >> True
# 遍历值
for key in config['TEMPLATEFILES']:
print(key)
# >> root men disk nic # 将DEFAULT中的键也遍历出来了,因为[DEFAULT]含有特殊意义;
# 那么[DEFAULT]有什么用?存放通用,都需要的配置;
# 取键
print(config.options('TEMPLATEFILES'))
# >> ['root', 'men', 'disk', 'nic']
# 取键值对
print(config.items('TEMPLATEFILES'))
# >> [('men', '1'), ('disk', '2'), ('nic', '3'), ('root', 'templates')]
# 取对应块下键的值
print(config.get('TEMPLATEFILES', 'root'))
# >> print(config.get('TEMPLATEFILES', 'root')) 同样可以获取[DEFAULT]中键的值
# 删,改,增
# config.write(open('test.ini','w'))
# 1.增
# 添加块
config.add_section('IMAGES')
# 给块添加键值
config.set('IMAGES', 'root', '1.png')
# 保存/写入
config.write(open('test.ini','w'))
# 2.删
# 删除块
config.remove_section('IMAGES')
# 删除对应块下的键值对
config.remove_option('IMAGES', 'root')