1、configparser 简介
configparser 是 Pyhton 标准库中用来读写配置文件的模块,并且内置方法和字典非常相似。
配置文件的格式如下:
[userinfo]
user = zhangsan
passwd = 123456
[otherInfo]
address = beijing/n\n
age = 2
“[ ]” 包含的为 section,section 下面为类似于 key-value 的配置内容;
configparser 默认使用 ‘=’ ‘:’ 分隔;
使用:也是合法了,如下
[mysq]
host:127.0.0.1
port:3306
user:root
password:123456
2、读取section
实例:文件名:config.ini,内容如下
[userinfo]
user = zhang/n\nsan
passwd = 123456
[otherInfo]
address = beijing
age = 2
读取section,如下
#coding=utf-8
import configparser
config = configparser.ConfigParser() #初始化configparser类
print(type(config)) #输出configparser类型
config.read('config.ini', 'UTF-8') #指定读取的文件,及编码格式
print(config.sections()) #读取所有的section
打印结果分别为:
<class 'configparser.ConfigParser'>
['userinfo', 'otherInfo']
3、读取指定索引下的section就key
# 获取指定 section 的 keys
option = conf.options(conf.sections()[0]) #获取第0个 section下的所有选项或value
# 等价于 option = conf.options('logoninfo')
print(option)
结果为:['user', 'passwd']
4、获取指定section下key设置的值
value = config.get('userinfo', 'user')
print(value) #都认为是字符串,不解析为转义字符
# 等同于
passwd = config['userinfo']['passwd']
print(type(passwd)) #为str类型
print(passwd)
结果为:
zhang/n\nsan
<class 'str'>
123456
5、生成配置文件
import configparser # 引入模块
config = configparser.ConfigParser() #实例化一个对象
config["userinfo"] = { # 类似于操作字典的形式
'user': zhang/n\nsan,
'passwd': 123456
}
config['otherinfo'] = {
"address": bejing,
"age": 20
}
with open('config.ini', 'w') as configfile:
config.write(configfile)
在当前目录下文件写入成功。
6、修改配置文件
import configparser
config = configparser.ConfigParser() # 实例化一个对象
config.read('config.ini') # 读文件
config.add_section('yuan') # 添加 section
config.remove_section('mysq.org') # 删除 section
config.remove_option('logoninfo', "popserver") # 删除一个配置项
config.set('logging', 'level', '3') # 修改执行 section 指定 key 的 value
config.set('yuan', 'k2', '22222') # 添加一个配置项
with open('config.ini', 'w') as f:
config.write(f)