Configparser模块
模块简介
configparser用于配置文件解析,可以解析特定格式的配置文件,多数此类配置文件名格式为XXX.ini,例如mysql的配置文件。
- 在python3.X中下载的模块名
pip install configparser
- 在python2.X中下载的模块名
pip install ConfigParser
ini 文件示例
[section1]
name = alan
age = 18
[section2]
name:python
age = 19
#### 文件格式说明 ####
[XXX] 代表节点
XX = XX 或者 XX : XX 代表参数
自动生成ini文件
import configparser
config = configparser.ConfigParser()
config["DEFAULT"] = {'USER': 'alan',
'ACCOUNT': 'L123',
'PASSWORD': '123456',
}
config['MYSQL'] = {'NAME': 'xxx_project', 'USER': 'root', 'PASSWORD': '123456'}
with open('../conf.ini', 'w') as configfile:
config.write(configfile)
查看配置文件信息
import configparser
config = configparser.ConfigParser()
"""查找文件内容,基于字典的形式"""
print(config.sections()) # []
config.read('../conf.ini')
print(config.sections()) # ['MYSQL']
print('MYSQL' in config) # True
print('DEFAULT' in config) # True
print(config['MYSQL']["user"]) # root
print(config['DEFAULT']['account']) # L123
print(config['MYSQL']) # <Section: MYSQL>
for key in config['MYSQL']: # 注意,有default会默认default的键
print(key)
print(config.options('MYSQL')) # 同for循环,找到'MYSQL'下所有键 ['name', 'user', 'password', 'account']
print(config.items('MYSQL')) # 找到'MYSQL'下所有键值对 [('user', 'root'), ('account', 'L123'), ('password', '123456'), ('name', 'xxx_project')]
print(config.get('MYSQL', 'name')) # xxx_project get方法取深层嵌套的值
配置文件的增删改操作
import configparser
config = configparser.ConfigParser()
config.read('../conf.ini')
config.add_section('NEW') # 新增section选项
config.write(open('../new_conf.ini', "w"))
config.remove_section('MYSQL') # 删除section选项
config.remove_option('DEFAULT', "password") # 删除DEFAULT选项下的password
config.set('DEFAULT', 'k1', '11111') # 更新数据
config.set('NEW', 'k2', '22222')
config.write(open('../new_conf.ini', "w")) # 最后写入,可以覆盖自己