configparser模块

Posted kp1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了configparser模块相关的知识,希望对你有一定的参考价值。

配置文件:

[section1]
k1 = v1
k2:v2
user=egon
age=18
is_admin=true
salary=31

[section2]
k1 = v1

 读取

import configparser

# 创建一个配置文件解析器
config = configparser.ConfigParser()
# 读取名为test.cfg的解释器
config.read(test.cfg, encoding=utf-8)

# 查看所有标题
res = config.sections()
print(res)  # [‘mysql1‘, ‘mysql2‘]

# 查看标题mysql1下所有key=value 的key
options = config.options(mysql1)
print(options)  # [‘username‘, ‘password‘]

# 查看标题mysql1下所有key=value的(key,value)格式
item_list = config.items(mysql1)
print(item_list)  # [(‘username‘, ‘jack‘), (‘password‘, ‘123‘)]

# 查看标题mysql1下username的值=>字符串格式
val = config.get(mysql1, username)
print(val)  # jack

# 查看标题mysql1下password的值=>整数格式
val1 = config.getint(mysql1, password)
print(val1)  # 123

# 查看标题mysql1下is_admin的值=>布尔值格式
val2 = config.getboolean(mysql1,is_admin)
print(val2)  # True

# 查看标题mysql1下salary的值=> 浮点型格式
val3 = config.getfloat(mysql1,salary)
print(val3) #31.0

 

改写

import configparser

config = configparser.ConfigParser()
config.read(test.cfg, encoding=utf-8)

# 删除整个标题mysql2
config.remove_section(mysql2)

# 删除标题mysql1下的某个password
config.remove_option(mysql1, password)

# 判断是否存在某个标题
print(config.has_section(mysql1))

# 判断标题mysql1下是否有password
print(config.has_option(mysql1, password))

# 添加一个标题
config.add_section(kopa)

# 在标题kopa下添加name=kopa,age=18的配置
config.set(kopa, name, kapa)
# config.set(‘kopa‘, ‘age‘ ,18) #报错,必须是字符串格式

# 最后将修改的内容写入文件,完成最终修改
config.write(open(test.cfg, w))

 

以上是关于configparser模块的主要内容,如果未能解决你的问题,请参考以下文章

py15-configparser模块

configparser模块

Python Configparser模块读取写入配置文件

python封装configparser模块获取conf.ini值(优化版)

Python中ConfigParser模块详谈

25.Python序列化模块,hashlib模块, configparser模块,logging模块,异常处理