Python模块-configparse模块

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")) #要重新写入才能成功完成操作
原文地址:https://www.cnblogs.com/sch01ar/p/8446641.html