configparse模块用来解析配置文件
配置文件
[DEFAULT]
port = 3306
socket = /tmp/mysql.sock
[mysqldump]
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
读取解析配置文件
# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR"
import configparser
config = configparser.ConfigParser()
config.read('config.ini') #读取配置文件,并赋给config
print(config.sections()) #读取配置文件中sections的标题,但是没有读取默认的section
print(config.default_section) #读取默认的section
print('myisamchk' in config) #判断section是否在配置文件里,返回布尔类型
print(list(config['myisamchk'].keys())) #读取指定section和默认section里的option
print(config['myisamchk']['read_buffer']) #获取section里option的值
print('read_buffer' in config['myisamchk']) #判断option是否在section中
#获取指定section和默认section里的option和option的值
for k,v in config['myisamchk'].items():
print(k,v)
运行结果
删除添加修改等操作
# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR"
import configparser
config = configparser.ConfigParser()
config.read('config.ini')
print(config.has_section('python')) #判断section是否在配置文件中
config.add_section('python') #添加section到配置文件中
config.set('python','abc','123c') #给section中的option设置值,如果没有将创建
config.remove_option('python','abc') #删除option
config.remove_section('python') #删除section
config.write(open('config_1.ini', "w")) #要重新写入才能成功完成操作