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