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模块的介绍就到这里了,希望阅读之后能够对你有所帮助。
领取专属 10元无门槛券
私享最新 技术干货