ini-parser

Read/Write an INI file the easy way!
授权协议 MIT License
开发语言 JavaScript
所属分类 应用工具、 终端/远程登录
软件类型 开源软件
地区 不详
投 递 者 韩涵衍
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

INI File Parser

A .NET, Mono and Unity3d compatible(*) library for reading/writing INI data from IO streams, file streams, and strings written in C#.

Also implements merging operations, both for complete ini files, sections, or even just a subset of the keys contained by the files.

(*) This library is 100% .NET code and does not have any dependencies on Windows API calls in order to be portable.

Get the latest version: https://github.com/rickyah/ini-parser/releases/latestInstall it with NuGet: https://www.nuget.org/packages/ini-parser/

Version 2.0

Since the INI format isn't really a "standard", version 2 introduces a simpler way to customize INI parsing:

  • Pass a configuration object to an IniParser, specifying the behaviour of the parser. A default implementation is used if none is provided.

  • Derive from IniDataParser and override the fine-grained parsing methods.

Installation

The library is published to NuGet and can be installed on the command-line from the directory containing your solution.

> nuget install ini-parser

Or, from the Package Manager Console in Visual Studio

PM> Install-Package ini-parser

If you are using Visual Studio, you can download the NuGet Package Manager extension that will allow adding the NuGet dependency for your project.

If you use MonoDevelop / Xamarin Studio, you can install the MonoDevelop NuGet AddIn to also be able to add this library as dependency from the IDE.

Getting Started

All code examples expect the following using clauses:

using IniParser;
using IniParser.Model;

INI data is stored in nested dictionaries, so accessing the value associated to a key in a section is straightforward. Load the data using one of the provided methods.

var parser = new FileIniDataParser();
IniData data = parser.ReadFile("Configuration.ini");

Retrieve the value for a key inside of a named section. Values are always retrieved as strings.

string useFullScreenStr = data["UI"]["fullscreen"];
// useFullScreenStr contains "true"
bool useFullScreen = bool.Parse(useFullScreenStr);

Modify the value in the dictionary, not the value retrieved, and save to a new file or overwrite.

data["UI"]["fullscreen"] = "true";
parser.WriteFile("Configuration.ini", data);

Head to the wiki for more usage examples, or check out the code of the example project

Merging ini files

Merging ini files is a one-method operation:

var parser = new IniParser.Parser.IniDataParser();

   IniData config = parser.Parse(File.ReadAllText("global_config.ini"));
   IniData user_config = parser.Parse(File.ReadAllText("user_config.ini"));
   config.Merge(user_config);

   // config now contains that data from both ini files, and the values of
   // the keys and sections are overwritten with the values of the keys and
   // sections that also existed in the user config file

Keep in mind that you can merge individual sections if you like:

config["user_settings"].Merge(user_config["user_settings"]);

Comments

The library allows modifying the comments from an ini file.However note than writing the file back to disk, the comments will be rearranged socomments are written before the element they refer to.

To query, add or remove comments, access the property Comments available both in SectionData and KeyData models.

var listOfCommentsForSection = config.["user_settings"].Comments;
var listOfCommentsForKey = config["user_settings"].GetKeyData("resolution").Comments;

Unity3D

You can easily use this library in your Unity3D projects. Just drop either the code or the DLL inside your project's Assets folder and you're ready to go!

ini-parser is actually being used in ProjectPrefs a free add-on available in the Unity Assets Store that allows you to set custom preferences for your project. I'm not affiliated with this project: Kudos to Garrafote for making this add-on.

Contributing

Do you have an idea to improve this library, or did you happen to run into a bug? Please share your idea or the bug you found in the issues page, or even better: feel free to fork and contribute to this project with a Pull Request.

  • 一.iniparser源码下载 git clone https://github.com/ndevilla/iniparser // 获取源码 cd iniparser //进入iniparser文件夹 make //在文件中执行make命令 二.iniparser库函数以及相关介绍 iniparser.h中的API int iniparser_getnsec(dictionary *d);

  • 目录 基础应用 INI文件结构 细节 存取资料 直接访问 添加或删除节或键 保存文件 示例中使用的INI文件的内容 配置解析器行为 自定义解析器算法—仅供参考 附件:获取ini-parser 基础应用 此页面将显示代码示例,这些示例将帮助您使用此解析器读取INI文件的内容。请参阅配置页面以了解如何在解析文件时更改。 INI文件结构 各个部分的INI文件const,每个定义一个唯一的键,并为每个键分

  • https://github.com/rickyah/ini-parser https://code.google.com/p/ini-parser/

  • 基础应用 此页面将显示代码示例,这些示例将帮助您使用此解析器读取INI文件的内容。请参阅配置页面以了解如何在解析文件时更改。 INI文件结构 各个部分的INI文件const,每个定义一个唯一的键,并为每个键分配一个唯一的值。 节被声明为包含在方括号中的唯一单词。方括号内的空格将被忽略,但必须使用唯一的单词([sampleSection])定义该部分 在部分中,我们可以定义具有唯一值的键。键在同一部

  • 前言: 遇到个需求,需要把一个类中的成员变量和变量对应的注释放在一个map中,但是由于变量上千个,所以挨个复制实在很麻烦,就想找能自动执行的程序,一开始用正则匹配,但是比较繁琐,然后也试了反射获取变量的方式,但是没取到注释,后来又被同事安利了Javaparser,百度了一番 Javaparser介绍 Javaparser用来分析、转换、生成代码,提供了一个Java代码的抽象语法树 代码示例 /*

  • configparser是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字典非常接近。Python2.x 中名为 ConfigParser,3.x 已更名小写。下文通过使用python的configparser模块实现解析.ini配置文件并输出的功能。 1.编辑.ini文件 [xmaster@mogdb-kernel-0005 python]$ cat test.ini [ysl

  • 配置文件config.ini [config] name=hello url=www.baidu.com 使用python内置的configparser读取ini配置文件 import configparser cf = configparser.ConfigParser() cf.read('config.ini', encoding="utf-8-sig") #如果不设置编码格式,读取含有中

  • 上次说了iniparser在windows上一些注意的问题,其实用的最多的还是API,一下列出 int iniparser_getnsec(dictionary * d);  //获取dictionary对象的section个数   char * iniparser_getsecname(dictionary * d, int n); //获取dictionary对象的第n个section的名字 

  • 一,首先说说 所谓 ini 文件以及 ini的文件格式: ini 文件其实就是所谓的初始化配置文件,一般的格式为: [SECTION0] key0 = value0 key1 = value1 。 。 。 [SECTION1] key0 = value0 key1 = value1 二,configparser包 ConfigParser 包 是创建一个管理对象,再把文件 read进去,做了其他操

  • python–工具–ini处理 # -*- coding: utf-8 -*- """ author:drliu date:2022/3/18 desc: 该文件用于 sample: 获取INI配置文件内容 _config = parse_ini(_path) 使用现有的字典去修改INI modify_ini(_file_path, _config_dict) """ # ------------

  • 简介 ConfigParser模块在python3中修改为configparser.这个模块定义了一个ConfigParser类,该类的作用是使用配置文件生效,配置文件的格式和windows的INI文件的格式相同 该模块的作用 就是使用模块中的RawConfigParser()、ConfigParser()、 SafeConfigParser()这三个方法(三者择其一),创建一个对象使用对象的方法

  • 1、ini文件说明         ini文件由节(section)、键(option)、值(value)组成,如下: [Mysql] host=10.11.1.1 port=3306 ;我是注释,以分号开头的就是注释 ;system就是节section [System] ;host就是键option,=号后边是value值 host=10.11.1.1 port=443 user=test p

  • python 那些事,读取配置文件再也不是什么难事 python 的configparse  是python自带的类,我们可以直接使用。挺方便的,我在这里又稍稍改写了一下,大家可以参考 常用的一些方法: config.read(filename) #读取文件内容 config.sections() #得到所有的section,并且以列表形式返回 config.opti

  • 介绍 此ini解析库适用于mono(unity3d),donet,大小在30kb左右。 开源免费:https://github.com/rickyah/ini-parser   使用示例 engine_config.ini  配置文件内容如下 [Engine] : product real path ProductRelPath = ../Product AssetBundleBui

  • 文章原文: 返回知识列表:Linux c/c++编程-- 知识点汇总 iniparser库的位置:             Github: https://github.com/ndevilla/iniparser             我下载下来的文件: iniparser-master.zip 项目中经常遇到需要解析ini配置文件的需求。ini配置文件的格式,如下 [tvconfig] na

  • 一. 读取配置 read(filename) 直接读取ini文件内容 sections() 获取所有的section,并以列表的形式返回 options(section) 获取该section的所有option items(section) 获取该section的所有键值对 get(section,option) 获取section中option的值,返回为string类型 getint(sect

  • 在PHP网站开发的过程中,往往会用到读取ini参数配置文件,比如需要访问一些复杂的借口,就可以直接在参数配置文件里面修改参数,然后再php脚本里面直接读取执行。而php有一个可以直接读取ini配置文件的函数parse_ini_file(),并以数组的形式返回。下面详细讲解一下采用PHP内置函数parse_ini_file,读取ini配置文件。 参数说明:array parse_ini_file

  • 版权声明:无论原创随意转载 https://blog.csdn.net/zahuopuboss/article/details/8818004 iniparser编译完成后生成静态库和动态库 根据需要在程序中进行链接   代码包test目录下含有示例程序iniexample.c   使用时在程序中包含头文件#include "iniparser.h"   load 使用iniparser_load

  • 一.交叉编译ini解析库 1.官方网站http://ndevilla.free.fr/iniparser 下载iniparser-3.1.tar.gz 2.解压 tar -zxvf iniparser-3.1.tar.gz cd tar -zxvf iniparser 3.修改makefile CC = gcc 修改为--> CC = arm-none-linux-gnueabi-gcc

  • iniparser库的位置:             Github: https://github.com/ndevilla/iniparser             我下载下来的文件: iniparser-master.zip 项目中经常遇到需要解析ini配置文件的需求。ini配置文件的格式,如下 [tvconfig] name = niubi version = 10.2.3.4 date

  • python中configparser模块读取ini文件 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section), 每个节可以有多个参数(键=值)。使用的配置文件的好处就是不用在程序员写死,可以使程序更灵活。 三种创建方法 程序示例: import configparser #实例化出来一个类,相当

  • 参考: 维基百科 INI 常用配置文件格式简析 .properties 和 INI .properties 主要用在 JAVA 程序中,JAVA 内置对它的解析。它是一种简单的配置文件格式,规则大概只有下面几条: 键值对的表示方式 键=值 属性名称和属性值之间出现的空格将被忽略, 因此 name=Stephen 与 name = Stephen 是等效的 单引号和双引号会作为值的一部分; 允许在一

  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 configparser模块 作用: 用来处理.ini格式文件 ini格式文件介绍: 某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中。这种配置文件的文件扩展名多为INI。 文件格式: 节(section) 节用方括号括起来,单独占一行,例如: [section]

  • 我先举个列子: 过滤器: /*解决全站中文乱码问题*/ public class EncodingFilter implements Filter { private String encoding = "utf-8"; /** * init:在服务器启动后,会创建Filter对象,然后调用init方法。只执行一次。用于加载资源 */ @Overrid

 相关资料
  • 配置 默认值 作用 swoole.enable_coroutine On On, Off 开关内置协程,详见。 swoole.display_errors On 开启/关闭Swoole错误信息。 swoole.use_shortname On 是否启用短别名,详见。 swoole.enable_preemptive_scheduler On 可防止某些协程死循环占用CPU时间过长(10ms的CPU

  • Java INI Package (JavaINI) 是一个 Java 语言用来读写 INI 文件的工具包。 下面是一段示例代码: import org.dtools.ini.*; public class CreateIniFile { public static void main( String args[] ) { // create an IniFile object IniFile i

  • 目录 1. 声明和访问ini设置 2. 小结 在前面的一章,我们已经学会了MINIT、MSHUTDOWN函数,以及RINIT和RSHUTDOWN等函数的使用,这里我们将介绍并学习ini设置的使用。

  • 跨平台的INI解析器:SimpleINI,支持section,读、写、各种value,遍历等。代码有注释. [Code4App.com]

  • 是否可以更改Apache使用的的位置?当我做时,结果是: 路径= 已加载配置文件 但是的结果是 配置文件(php.ini)路径: /etc 我可以将从复制到,但是可以更改php.ini文件夹吗? 我使用自制软件安装PHP,我使用的是OS X Snow Leopard。

  • INI条目被定义在一个完整的独立的的块,位于上文中所说的MINIT方法的同一个源文件,并且用下面的一对宏来定义,并在这对宏之间放入一个或者多个条目PHP_INI_BEGIN()和PHP_INI_END() 这些宏方法和上一章所提到的ZEND_BEGIN_MODULE_GLOBALS()和ZEND_END_MODULE_GLOBALS()有着相同的用法。这些结构是用静态数据的实例来声明,而不仅仅是提