python配置文件注释_Python内置库:configparser(INI格式配置文件解析)

在平时的开发中感觉INI格式的配置文件使用还是挺需要的,有时会使用一个单独的py来存放一些常量或者配置项,大多时候这样倒是挺好用的,但是如果某些配置项需要在运行时由用户来修改指定,比如很多app在关闭时会有一个弹出框提示“是否关闭”和“下次不再提醒”,这种配置项如果使用INI格式的配置文件来操作的话就会方便很多,Python中操作配置文件的模块为configparser,这个模块可以用来解析与Windows上INI文件结构类似的文件。

看官方文档的时候发现不同Python版本之间某些API还是有些小区别的,所以先说一下,本文使用的是Python3.6。

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

;DEFAULT为默认section,当获取其他section中同名option,而该section又没有这个option时,会取DEFAULT中的该option

[DEFAULT]close_prompt=yes[baidu]website=www.baidu.com

# 本机信息[home]ip= 127.0.0.1port= 8080

INI配置文件组成:

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

大小写和空格检查:section中的名称在保存和获取的时候是原样保存和获取的,即大小写不一样或者空格不一样等都是不同的section;

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

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

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

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

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

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

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

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

DEFAULT:这

你可能感兴趣的:(python配置文件注释)