概要
配置文件的好处是,程序已经打包完毕的时候,仅在配置文件修改参数即可,不用再去展开源码进行修改。.ini文件是Initialization file的缩写,即为初始化文件,是Windows系统配置文件所采用的存储格式,统管Windows的各项配置。
文件格式
ini文件的数据存储,使用的是键值对的样式,key=value。例如name = 小明 ,key为name,value为”小明“。同一份ini文件里面,可能会存储多种类型的配置参数,以英文形态下的"[ ]"进行标识,如下图所示。也就是若读取配置参数类型名1,仅可获取到key=value,获取不到key1=value1.
[配置参数类型名1]
key = value
[配置参数类型名2]
key1 = value1
python解析
在python当中,已经有一个库是可以直接解析ini文件的,解析过程如下👇
from configparser import ConfigParser #引入对应的包
c = Confihparser() #实例化这个对象
x = c.read("文件名",encoding = 'utf-8')#要输入ini文件的文件名,最好是放在和程序同个文件夹
y = dict(c.items('配置文件名称')) # 转换成字典
这样打印以上的X、Y就看可以看到解析出来的配置参数。
由于我们解析出来的值默认是str的形式,可能我们在做数据处理的时候也需要一些其他类型,在封装这个类的时候我们可以进行一个强转,方便我们去调用👇
def readInt(self,key):
"""
读取配置文件中的整型数据
:param key: 键值
:return:
"""
intData = int(x[str(key)])
return intData
def readStr(self,key):
"""
读取配置文件中的字符串数据
:param key: 键值
:return:
"""
strData = x[key]
return strData
以上只展示了整型,需要什么数据也可以直接强转即可。大概就是这些啦。
完整代码
需要的小伙伴,可以自取参考。
from configparser import ConfigParser
class iniFilePars:
def __init__(self,fileName,itemName):
"""
配置文件解析的构造函数
:param fileName: ini配置文件的名称
:param itemName: 配置参数类型名称
"""
global i,y,x
i = ConfigParser()
y = i.read(fileName,encoding='utf-8')
x = dict(i.items(itemName))
def readInt(self,key):
"""
读取配置文件中的整型数据
:param key: 键值
:return:
"""
intData = int(x[str(key)])
return intData
def readStr(self,key):
"""
读取配置文件中的字符串数据
:param key: 键值
:return:
"""
strData = x[key]
return strData
写在最后
以上就是近阶段对于python解析ini文件的一个小结,若有一些不对的地方,欢迎批评指正!
最后,祝各位看官身体健康,发大财!!!