总结
sections
option, 其中option包括key 分隔符 value
ini配置文件格式

ini配置文件的组成
<1>section:表示一个区块,由方括号及方括号中的名称组成,
section的范围是当前方括号到下一个方括号之间的内容,
如“DEFAULT”,“select”,“connect_mysql”,这几个都是section
section的名称可以随便写,只要和你的项目有关系即可。
<2>大小写和空格检查:
section中的名称在保存和获取的时候是原样保存和获取的,
即大小写不一样或者空格不一样等都是不同的section;
也就是说,ini文件,对大小写是敏感的.
<3>重复性检查:
同一个配置文件中section名称不允许重复。
肯定不能重复啊,废话。如果section重复,那么你读取配置文件的时候,鬼才知道是哪一个section。
<4>option:
表示section中的配置项,由key、分隔符和value组成的键值对,
如“select”下的“broswer = Chrome”。
<5>大小写检查:
key是大小写不敏感的,保存进文件的时候会自动将key小写保存,但value是大小写敏感的;
<6>空格检查:
通过key获取value时,会自动将文件中的key和value前后空格去掉再进行匹配,
即文件中保存为' broswer = Chrome '时,用'broswer'也可以获取到对应的value值'Chrome';
<7>跨多行检查:
key是不能跨行的,但是value可以跨行,
只要第二行及之后行的缩进与第一行不同即可,一直到下一个option为止;
<8>重复性检查:和section一样,同一section下的key是不允许重复的;
<9>分隔符:可以是等号“=”或者冒号“:”,可以是=,也可以是冒号:
<10>注释:.ini文件的注释,可以用#符号(这一点和python一样),或者是;符号
这里需要注意的是,注释必须是在单独的一行,不能在key = value 的后面。
<11>DEFAULT
这是一个特殊的section,会用作其他section的option取不到值时的备用值,
或者可以理解为它是一个root,其他的section都是它的子section,但不是必须提供的。
python读取.ini配置文件的实例
import configparser
config = configparser.ConfigParser()
config.read("./config.ini", encoding="utf-8")
user = config.get("mysql", "user")
password = config.get("mysql", "password")
host = config.get("mysql", "host")
port = config.get("mysql", "port")
db_name = config.get("mysql", "company_db_name")
sections = config.sections()
value = config.get("section_name", "key_name")
port = config.getint("connect_mysql","port")
value = config.items("section_name")
总结
ini配置文件的格式是section, key value形式构成的。
每个section就像是一个个的小组长,带着自己的几个组员。
就是是分组一样。
.ini文件,key都是字符串类型,但你是不能确定value的数据类型的。
所以在编写.ini文件的时候,不需添加“”来表示字符串,直接写就行。反正最后在读取的时候,都是默认string。最后在用的时候,再转换类型。
.get() 默认得到的value都是字符串,不管是port,年龄,还是分数
.getint() 整数,比如port
.getfloat() # 浮点数
.getboolean() # bool类型