python之配置文件ini的读取

ini配置文件读取

ini文件作为配置文件的常用度就不用多介绍了,
这里主要介绍一下python怎么读取ini内的配置信息

configparser使用
from configparser import ConfigParser

[注]: py3里是configParser, py2直接import ConfigParser

闲话不多说,直接上代码
源生的ConfigParser会将信息自动全部转换成小写,自定义类重载该函数,让其不做转换

class MyConfigParser(ConfigParser):
    def __init__(self, defaults=None):
        ConfigParser.__init__(self, defaults=defaults)

    def optionxform(self, optionstr):
        return optionstr

读取配置文件,生成配饰信息字典返回

def get_parameter(config_file):   # config_file是配置文件名列表
    conf_dict = {}
    conf = MyConfigParser()
    if conf.read(config_file, encoding="utf-8-sig"):  # 此处是utf-8-sig,而不是utf-8
        conf_dict = {s: {v: conf.get(s, v) for v in conf.options(s)} for s in conf.sections()}
   # print(conf_dict)
    return conf_dict

这样就获取了配置信息的字典了,具体要再怎么操作就自由发挥喽
如ini配置文件

[sheetName]
;excel 数据表sheet名称
table=表
;excel 源数据sheet名称
data=原始数据

[tableType]
;数据表类型,line:折线,column:柱状图, pie:饼图
type=line
;y轴第二坐标基准
y2_axis=AtSpeed
lineColor=blue2:#5B9BD5;green2:#548235
lineWidth=2

[tableInfo]
;excel 数据表对应的信息
;表名 = 表中的数据项,各数据项折线显示的颜色,表的起点位置, 表的大小
弱磁ID={"names":["Udc","AtSpeed"],"colors":["green2","blue2"],"offset":[2,2], "size":[300,350]}
力矩输出={"names":["RealAp","AtSpeed"],"colors":["green2","blue2"],"offset":[2,310], "size":[300,350]}

读取结果

{
'sheetName': {'table': '表', 'data': '原始数据'}, 
'tableType': {'type': 'line',
			'y2_axis': 'AtSpeed', 
			'lineColor':'blue2:#5B9BD5;green2:#548235',
			'lineWidth': '2'}, 
'tableInfo': {'弱磁ID': '{"names":["Udc","AtSpeed"],
						  "colors":["green2","blue2"],
						  "offset":[2,2],
						  "size":[300,350]
						  },
			  '力矩输出':{"names":["RealAp","AtSpeed"],
						"colors":["green2","blue2"],
						"offset":[2,310], 
						"size":[300,350]
						}
			}
}

另外
因为读取到的全部是一个字符串的字典
所有内部自定义的字符串格式需要自己定义规则去解析,
为了方便使用,请尽量按python类型的规则来定义ini格式,这样就可以直接使用函数eval函数去解析字符串了
比如截取其中一段字符串字节转成字典:

eval('{"names":["Udc","AtSpeed"]}')

至于其它的功能,怎删改查ini文件请参考链接:
python之ini配置文件

实用小工具请参考资源文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值