python2下该模块名为ConfigParser,到python3才改为configparser,可以看官方configparser模块的说明

configparser官方文档https://docs.python.org/2/library/configparser.html

python3configparser模块的使用,configparser模块是用来解析ini配置文件的解析器,关于ini配置文件的结构可以看python官方文档中的介绍:

ini文件结构https://docs.python.org/3.5/library/configparser.html#supported-ini-file-structure

一个普通的INI配置文件cfg.ini示例如下:

python configparser配置文件解析器使用详解_configparser文件读取

INI配置文件组成,注意点:

               1.  section:表示一个区块,由方括号及方括号中的名称组成,section的范围为当前方括号到下一个方括号的内容,如“DEFAULT”“baidu”“home”

大小写和空格检测:区分大小写和空格,即:保存和获取的时,大小写不一样或空格不一样等都是不同的section

  重复性检测:同一个配置文件中section名称是不允许重复的。

2.option:表示section中的配置项,由key、分隔符和value组成的键值对,如“home”下的“port=8080”

大小写检查key不区分大小写,保存进文件的时候会自动将key小写保存,但value是大小写敏感的;

空格检查:通过key获取value时,会自动将文件中的keyvalue前后空格去掉再进行匹配,即文件中保存为'  ip     = 127.0.0.1      '时,用'ip'也可以获取到对应的value'127.0.0.1'

跨多行检查key是不能跨行的,但是value可以跨行,只要第二行即之后的行的缩进与第一行不同即可,一直到下一个option为止;

重复性检查:和section一样,同一section下的key是不允许重复的;

      分隔符:可以是等号“=”或者冒号“:”

 3.注释:行注释用井号“#”或者分号“;”表示,特别需要注意的是必须得是行开头(前面可以有空格),用在行中间的就不会算作是注释了;

 4.DEFAULT:这是一个特殊的section,会用作其他sectionoption取不到值时的备用值,或者可以理解为它是一个root,其他的section都是它的子section,但不是必须提供的;

注意configparserdefault_section的概念,默认为[DEFAULT],也就是之后的所有的section都有该默认section中的键值对,详情参见configparser源码的__init__()方法。

向配置文件中写数据:

python configparser配置文件解析器使用详解_configparser文件读取_02

基本的写入配置文件:

-write(fp) 将config对象写入至某个 .init 格式的文件

-add_section(section) 添加一个新的section

-set( section, option, value) section中的option进行设置,需要调用write将内容写入配置文件。

-remove_section(section)   删除某个 section

         -remove_option(section, option)删除某个 section 下的 option

从配置文件中读取数据

python configparser配置文件解析器使用详解_configparser文件读取_03

基本的读取配置文件:

-read(filename) 直接读取ini文件内容

-sections() 得到所有的section,并以列表的形式返回

-options(section) 得到该section的所有option

-items(section) 得到该section的所有键值对

-get(section,option) 得到sectionoption的值,返回为string类型

         -getint(section,option) 得到sectionoption的值,返回为int类型,还有相应的getboolean()getfloat() 函数

实用函数:

configparser还包含了一些使用函数,在我们处理配置文件的时候非常有用。

函数名

作用

sections()

返回所有章节组成的列表,不包括默认章节

add_section(section)

添加一个新的章节

has_section(section)

判断该章节是否存在

options(section)

返回该章节下的所有选项列表

has_options(section,option)

判断给定章节下是否存在某选项

remove_options(section,option)

删除给定章节下的某个选项

remove_section(section)

删除某个章节


还有一些函数不太常用,这里我就不介绍了。对于大部分情况,其实上面这些已经足够用了。

转载地址:https://www.cnblogs.com/guyuyun/p/10965125.html