python configparser增删改查

configparser是一种配置文件解析器。

以下是该模块的基本使用方法:

初始化:

首先要import该模块:

import configparser

配置文件实际上就是一个文本文件,后缀为ini格式,所以直接用python的文件读写模块即可实现配置文件的创建,读取和写入。

创建一个配置文件(如果已有文件,跳到下一步读取配置文件):

 file = open("config.ini","w")
 file.close()

创建好之后直接读取该配置文件(将config.ini替换成自己的配置文件即可)

config = configparser.RawConfigParser()
config.read("config.ini")

此时已经获取到配置文件的对象,即可以根据此对象(config)对配置文件进行增删改查。

增加(给配置文件中增加一条配置):

首先了解下配置文件中的格式,类似于这个样子,一个section下面有这个section带的配置选项:

[section1]
option1 = xxxx
option2 = xxxx
option3 = xxxx

[section2]
option1 = xxxx
option2 = xxxx
option3 = xxxx

所以根据此格式,可以变现自己的格式增加进去。

config.add_section("book")  
config.set("book","title","书名")  
config.set("book","author","作者")  

执行这几条语句,配置中会增加如下:

[book]
title = 书名
author = 作者

但是这个现在只是在内存中,那个“config.ini”文件中还是没有的,需要将配置从内存写入到文件中才能看到。

执行如下语句即可写入到文件中。

with open("config.ini",'w') as file:
    config.write(file)

删除(删除一个section或者option):

比如删除刚刚添加的book中一条option。

config.remove_option("book","author")

删除一个section

config.remove_section("book")

修改(修改一个option):

section好像并不能修改

修改option的方法是:set_option,和添加时用的一个方法,在一个section下添加或者修改一个option

比如

config.set("book","title","名字")  

查找:

配置模块实际上查找的方法有四种,一种是列举出所有的option,一种是以列表形式返回指定section下的所有option的名字,一种是返回指定section下的所有option的名字和值的迭代器,还有一种是获取指定section下的指定option的值。

列举所有的option

config.list_sections()

列举指定section下的所有option的名字(返回列表)

config.list_option_keys("book")

列举指定section下的所有option的名字与对应的值(返回迭代器)

config.list_option_items("book")

获取指定section下的指定option的值

config.get_option("book","title")

以上就是配置模块入门的使用方法,

以下是相关方法列表:

configparser模块的增删改查:

add_section(section_name)添加一个分组,若存在,则报错
set_option(section_name,option_name,option_value)在一个分组下添加或修改一个选项
remove_section(section_name)删除指定的分组,若存在则返回True,反之,返回False
remove_option(section_name,option_name)删除一个分组下的某个选项
list_sections()以列表的形式返回所有分组
list_option_keys(section_name)以列表的形式返回指定分组下所有的选项名(key)
list_option_items(section_name)返回指定的分组下包含的所有选项(key = value)
get_option(section_name,option_name,fallback)获取指定分组下指定的选项值(value),指定fallback 参数可用于获取选项值不存在的默认值               

与 section相关的方法:

add_section()

 

remove_section()

 
sections()

返回一个所有可用的分组的列表

has_section(section)

判断指定的分组是否存在,若存在则返回True,反之为False

与option相关的方法:

set (section,option,value) 添加或修改某个已经存在的分组下的选项的值,若不存在,则报错
get (section,option,fallback)以str的形式获取指定的某个选项值
getint(section,option,fallback)以 int 的形式获取指定的某个选项值
getfloat(section,option,fallback)以float 的形式获取指定的某个选项值
getboolen(section,option,fallback )

对get()方法的字符串结果转换为布尔值并返回

                # ‘1’,‘yes’,‘true’,‘on’返回True

                #  ‘0’,‘no’,‘False’,‘off’返回 False

remove_option(section,option) 
defaults()返回一个包含默认值的字典,即[DEFAULT] 下的所有option
options(section)返回一个指定分组下所有可用选项值
items(section)返回一个分组中包含的每个选项(key= value)
has_option(setion,option) 

配置文件读写相关方法:

read_file(f,source=None)解析文件,若文件名被忽略,file有一个name属性,filename会取这个属性值
read_string()从字符串中读取配置数据信息
read_dict()从字典中读取配置数据信息
write(fileobject,space_around_delimiter)将当前实例中的配置数据写入指定的文件对象中
 space_around_delimiter  : 默认为True ,保留写入文件的配置数据选项和选项值之间的分隔符或空格符,False 为不保留
read(filenames,encoding=None)读取并解析一个文件列表,返回一个被成功解析的文件列表

configparser.ConfigParser类

是 RawConfigParser的子类,继承了RawConfigParser的方法,支持option值的格式化替换,允许以类似字典的方式来操作配置文件

get(section,option[,raw[,vars]],fallback)获取指定的分组下某个选项值
items(section[,raw[,vars]]))返回指定分组下每个选项(key= value)
raw  :  默认为False,表示所有选项的值包含‘%’格式的字符串都会被替换为相应的值,若为True,则不对这些格式字符串做处理,直接返回
vars  :  用来临时定义某个被格式字符串引用的选项的值(被格式字符串的查找过程:vars(如果被提供)->当前分组-> DEFAULT)

这个类如果比较喜欢使用字典之类的批量写入配置选项的可以使用。

configparser.SafeConfigParser类

set(section,option,value):添加或修改某个已经存在的分组下的选项值,如果分组不存在则报错

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值