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_dict = {}
conf = MyConfigParser()
for f in config_file:
if not conf.read(f, encoding="utf-8-sig"): # 此处是utf-8-sig,而不是utf-8
return {}
conf_dict = {s: {v: conf.get(s, v) for v in conf.options(s)} for s in conf.sections()}
# print(conf_dict)
return config_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配置文件
实用小工具请参考资源文件