python模块-configparser

python中的configparser模块是用来生成或解析配置文件的,主要功能是config文件的解析。通过学习这个模块,个人认为可以让学习者对数据的格式、规范性有更加深入的了解,对以后的编程有很大帮助(题外话,平常就应该注意培养好的编码习惯,这样才能更好地去维护,才能更方便别人学习,当然啦,我做的还远远不够)。当然,这个模块本身也能在以后的编程中帮助你,帮你解析或生成配置文件。

模块的引用

Python2和python3中的模块名称不一致,引用时需要注意。官方指出的是,会根据python运行版本去动态导入正确的模块,所以就算在python2中用了python3的模块,也不会出错,反之亦然。但是为了脚本的严谨程度及避免后续可能会出现的bug,最好选用与版本一致的模块名称进行导入。

配置文件书写规则

官方说明中指出了config文件的书写格式:以section进行分割,每个section下面是所列的参数;在书写参数时,基本格式为参数:数值或者参数=数值;以#或;开头的行认为是注释行,不进行解析。具体书写格式如下。

配置文件读取

脚本内容

输出内容

pythonconfigparser_test.py -c config.txt

此时可以注意到config.read(conf)输出的是一个列表,这就意味着应该可以同时读入多个配置文件,在测试的时候发现果然是这样。

pythonconfigparser_test.py -c config.txt config_1.txt

由此可以知道,该模块使用时不管你传入几个配置文件,会通过read之后生成的列表对每个配置文件逐一进行解读,待所有配置文件中保存的信息全部解析后一起输出

configparser编译规则

根据官网的介绍,我们可以将configparser变异的内容当做字典来处理,也就是说最初的config内容可以转化为如下的一个字典。

现在对configparser的解析规则就一目了然了,实质就是字典键值对信息的读取。

configparser常用方法

获得条目信息

configparser中的方法主要是针对section部分的,因为是类似字典的存储结构,所以通过section与option之间的关系,就可以得到所有条目信息

遍历条目信息

输出结果

从上面可以看出,sections命令返回section条目的列表,options命令返回的是对应section下的条目信息,类型为列表,而has系列的方法主要是判断是否存在某一条目,返回的是布尔逻辑值,true/false。以上返回的数据很有用,前两个返回的是列表,可迭代,可以通过循环遍历所有条目

输出结果

后四个返回逻辑值,用于判断,可以作为条件删选符合预设条件的条目。

获取数据信息

此步骤执行之后返回的是每个条目对应的value,也就是预设的变量值,可以在脚本后续被使用。这部分功能的实现依赖于get系列的方法。

获取数值信息

输出结果

在这部分中,get的作用很强大,可以获取相应条目的信息,同时也可以指定相应条目对应的数值类型,如percent,取值时调用的是getfloat()函数,解析之后输出25.0,浮点型,为小数

生成配置文件

configparser模块不仅可以读取配置文件,还可以输出配置文件

#remove系列命令的作用是删除已有的配置条目

#set是更新特定的section部分,添加新的条目;在使用时,要求所使用的section必须存在,若不存在,需要先创建

输出结果

好了,configparser模块的介绍就到这里了,希望阅读之后能够对你有所帮助。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180814G1QJSM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券