[学习分享]利用python解析ini格式的配置文件

概要

   配置文件的好处是,程序已经打包完毕的时候,仅在配置文件修改参数即可,不用再去展开源码进行修改。.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文件的一个小结,若有一些不对的地方,欢迎批评指正!

  最后,祝各位看官身体健康,发大财!!!

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

重生之我在厦门做测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值