Loading

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)

image

查看配置文件信息

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方法取深层嵌套的值

image

配置文件的增删改操作

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"))  # 最后写入,可以覆盖自己

image

posted @ 2022-11-29 23:45  爱learn  阅读(519)  评论(0编辑  收藏  举报