configparser 是python 标准库中用来解析配置文件的模块, 解析的配置文件格式和Windows平台下的ini配置文件结构相同,在Python2.x中,模块名为
ConfigParser
,在3.x中更改为小写configparser
一. 配置文件格式:
解析的配置文件格式如下, "[]"
中包含一个section,一个section中包含key-value-command(非必须),键和值之间用'='
或者':'
隔开,后面的注释部分用'#'
或者';'
隔开
[my_svr]
svrIP=127.0.0.1
listenPort=10086 #监听端口号
bufferSize=1M # 接收缓冲区大小
[user]
userName=Tom
UserDir=.\UserFile # 用户缓存目录
exitTime=1800 #程序退出时间
二. 写入一个配置文件
写入方式类似与键值对的添加 但是貌似不能添加注释内容 ,而且生成文件不区分大小写,文件中的key
全部为小写,
import configparser
config = configparser.ConfigParser() # 模块中的一个类, 创建一个config对象
config['my_svr'] = {
'svrIP' : '127.0.0.1',
'listenPort' : 10086,
'bufferSize' : '1M'
}
# config['user'] = {
# 'userName' : 'Tom',
# 'UserDir' : r'.\UserFile',
# 'exitTime' : 1800
# }
config['user'] = {}
config['user']['userName'] = 'Tom'
config['user']['UserDir'] = r'.\UserFile'
config.set('user','exitTime','1800')
# print(config.items('user'))
with open('example.ini', 'w') as configFile:
config.write(configFile)
三. 读取一个配置文件
import configparser
config = configparser.ConfigParser() # 模块中的一个类, 创建一个config对象
config.sections()
print(config.sections()) # 此时配置文件为空
config.read('example.ini')
config.sections()
print(config.sections()) # 此时配置文件为空
# bIsSection = 'my_svr' in config
bIsSection = config.has_section('my_svr')
print(bIsSection)
# nPort = config['my_svr']['LISTENPORT'] # key 不区分大小写
nPort = config.has_option('my_svr','LISTENPORT')
print(nPort)
nExitTime = config.getint('user','exitTime')
print(f"exitTime : {nExitTime} ---- type(exitTime) is : {type(nExitTime)}")
# 删除一个section
config.remove_option('User2','UserName')
print(config.items('User2'))
config.remove_section('User2')
print(config.sections())