.ini配置文件介绍与解析库使用

您所在的位置:网站首页 ini文件下载 .ini配置文件介绍与解析库使用

.ini配置文件介绍与解析库使用

2023-06-06 14:51| 来源: 网络整理| 查看: 265

【前言】

        ini 文件是英文"Initialization"的缩写,即初始化文件。它用来配置特定应用软件以实现对程序初始化或进行参数设置。.ini文件由节(section)、键(key)、值(value)三种模块构成。在windows系统/嵌入式软件中有很多XXX.ini文件,例如System32.ini和Config.ini。

【ini文件格式】

[Setting]

INIT_FLAG=0;

VOLUME=1;

LANGUAGE=1;

        其中,[Setting]叫做节,INIT_FLAG在=号左边叫做键,0在=号右边叫做值。

【读/写 ini文件实现方式】

        作为系统支撑软件或上层应用软件,需要实现参数可配置,提高软件的二次可利用率。本文将依次使用C语言/Python语言分别进行简单介绍它们的实现与读写原理。首先,介绍C语言环境下读写ini文件的方式。        

【C语言中INI解析库】

        C语言中,可以使用INI解析库作为INI配置文件的解析工具,使用者只需在程序代码中添加头文件iniparser.h。INI解析库提供给我们用户最关心的两大方法,设置方法和参数获取方法。

#define CONFIG_NAME "Config.ini" /* parase Config.ini file to get param */ dictionary *Config_ini = NULL; /* reload Config.in file */ Config_ini = iniparser_load(CONFIG_NAME); if(NULL == Config_ini){ printf("cannot't parse %s file\n",CONFIG_NAME); return -1; } /* dictionary dump save other files pointer */ iniparser_dump(Config_ini,stderr); /* get item value by Create_ini file */ Init_flag = iniparser_getint(Config_ini,"Setting:INIT_FLAG",-1); Volume_flag = iniparser_getint(Config_ini,"Setting:VOLUME",-1); English_flag = iniparser_getint(Config_ini,"Setting:LANGUAGE",-1); printf("Init_flag:%d\n",Init_flag); printf("Volume_flag:%d\n",Volume_flag); printf("English_flag:%d\n",English_flag); /* modified value in INIT_FLAG item */ iniparser_set(Config_ini,"Setting:INIT_FLAG","1");

        本实例在Linux环境下进行编译后,输出结果:

         更多功能,可以参考INI解析库中的函数片段,仔细寻找会有意外收获。如果需要将INI解析库放到Windows环境中运行,可以直接将iniparser.h包含进工程项目中,然后进行编译构建即可。

【python中configparser模块】

        在当前python3环境中,configparser是用来解析ini配置文件的解析器。其作用就是使用模块中的RawConfigParser()、ConfigParser()、SafeConfigParser()这三个方法(任选一种),创建一个对象使用对象的方法对指定的配置文件做增删改查操作。

## 读取ini配置文件信息 import os import configparser conf = configparser.ConfigParser() # 类的实例化 curpath = os.path.dirname(os.path.realpath(__file__)) path = os.path.join(curpath,'read.ini') conf.read(path,encoding="utf-8") value = conf['select']['url'] print("通过read方法取得的值为:",value) ## 写入ini 配置文件 import os import configparser conf = configparser.ConfigParser() # 类的实例化 curpath = os.path.dirname(os.path.realpath(__file__)) path = os.path.join(curpath,'read.ini') conf.add_section('login') # 添加一个新的section conf.set('login','username','admin') conf.set('login','password','123123') # 往配置文件写入数据 conf.write(open(path,'a')) # 保存数据

        上述功能实现读取ini配置文件的信息,具体的代码逻辑本文不再赘述,只是提供一种脚本化的解析库策略。相关代码已放到平台的download页面,自行下载试用即可。

【总结】

        本文从ini配置文件在软件配置策略的角度出发,分别介绍了ini配置文件的格式,在C语言、python语言中的使用策略。最后,分别针对两种语言给出了代码片段。使用ini解析库功能,可以快速实现功能的开发和软件参数调节,实现一套软件多场景适用。

参考信息:

[1] 分享一个好用的C语言.ini文件的解析库, 嵌入式应用研究院, 2020-01-08.

[2] 了解Python之ini配置文件详解, 51Testing软件测试网, 2022-08-31.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3