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'))

 

posted @ 2018-12-10 22:40  kongpan  阅读(111)  评论(0编辑  收藏  举报