ini文件

shell读取或者修改ini文件

若如初见. 提交于 2019-12-01 10:09:04
cfg_find(){ file_name=$1 labelname=$2 key=$3 labelline=$(grep -n "^\[.*\]$" $file_name | awk -F ':' '{print $1}') lineinfo=$(grep -n "^\[.*\]$" $file_name | awk -v labelname="$labelname" -F ':' '{a[NR]=$1;b[NR]=$2} END{for(i=0;i<length(b);i++){if(b[i-1]==labelname){print a[i-1],a[i]}}}') lable_lines=() total_line=$(cat $file_name | wc -l) for line in $lineinfo do start_line=$(echo $line | awk '{print $1}') end_line=$(echo $line | awk '{print $2}') if [ -z $end_line ] then $end_line=$total_line fi if [ ! -z $start_line ] || [ ! -z $end_line ] then keyinfo=$(cat $file_name | head -n $(($end_line

ini配置文件必知

喜夏-厌秋 提交于 2019-12-01 02:58:55
为什么要用INI文件?如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序出厂后还能根据需要进行必要的配置;配置文件有很多如INI配置文件,XML配置文件,还有就是可以使用系统注册表等。 本文主要是为读者在实现读写INI配置文件模块之前,提供有关INI文件的格式信息。 在早期的windows桌面系统中主要是用INI文件作为系统的配置文件,从win95以后开始转向使用注册表,但是还有很多系统配置是使用INI文件的。其实INI文件就是简单的text文件,只不过这种txt文件要遵循一定的INI文件格式。现在的WINCE系统上也常常用INI文件作为配置文件,这次研究INI文件的目的就是为了我的GPS定位系统客户端写个系统配置文件。“.INI ”就是英文 “initialization”的头三个字母的缩写;当然INI file的后缀名也不一定是".ini"也可以是".cfg",".conf ”或者是".txt"。 INI文件由节、键、值组成。 节   [section] 参数 (键=值)   name=value 注解   注解使用分号表示(;)。在分号后面的文字,直到该行结尾都全部为注解。 NI文件的格式很简单,最基本的三个要素是:parameters,sections和comments。

ini文件

痞子三分冷 提交于 2019-12-01 02:41:22
ini文件在系统配置及应用程序参数保存与设置方面,具有很重要的作用,所以可视化的编程一族,如VB、VC、VFP、Delp等都提供了读写ini文件的方法,其中Delphi中操作ini文件,最为简洁,这是因为Delphi3提供了一个TInifile类,使我们可以非常灵活的处理ini文件。 一、有必要了解ini文件的结构 注释:  [小节名]   关键字=值 。。。 ini文件允许有多个小节,每个小节又允许有多个关键字,“=”后面是该关键字的值。 值的类型有三种:字符串、整形数值和布尔值。其中字符串存储在ini文件中时没有引号,布尔值真用1表示,布尔值假用0表示。 注释以“;”开头。 来源: https://www.cnblogs.com/wjq13752525588/p/11648865.html

ansible 配置文件设置

人盡茶涼 提交于 2019-11-30 18:35:49
目录 ansible 配置文件设置 一、ansible configuration settings 二、ansible 配置文件查找顺序(从上到下,依次查找) 三、附录ansible配置参数 ansible 配置文件设置 一、ansible configuration settings ansible支持多种形式,对它进行配置,其中包括命令行配置、配置文件配置(ansible.cfg)、直接修改linux环境变量、以及playbook中使用变量去修改ansible配置。总共4种表现形式。 二、ansible 配置文件查找顺序(从上到下,依次查找) ANSIBLE_CONFIG 用来设置配置文件所在位置 ansible.cfg (在当前执行命令的目录下,是否有ansible.cfg) ~/.ansible.cfg (查找家目录下是否有 .ansible.cfg 文件) /etc/ansible/ansible.cfg (查找etc下面是否有ansible.cfg配置文件) ansible 将使用第一个查找到的配置文件,其他的将被忽略。 ansible配置文件使用 # 和 ; 来进行注释;如果是内联注释,只允许使用 ; # some basic default values... inventory = /etc/ansible/hosts ; This points to the

python读写ini文件

给你一囗甜甜゛ 提交于 2019-11-30 16:18:33
python来读写ini的配置文件 读取文件: import configparser cfp = configparser.ConfigParser() cfp.read("test.ini") '''获取所有的selections''' selections = cfp.sections() print(selections) # ['Title1', 'Title2'] '''获取指定selections下的所有options''' options = cfp.options("Title1") print(options) # ['key1', 'key2'] '''获取指定selection下的指定option的值''' value= cfp.get("Title1", "key1") print(value) # 1111111111 '''判断是否含有指定selection 或 option''' print(cfp.has_section("Title1")) # True print(cfp.has_option("Title1", "key3")) # False 写文件: import configparser cfp = configparser.ConfigParser() cfp.read("test.ini") cfp.add_section(

GO系列-ini文件处理

自古美人都是妖i 提交于 2019-11-30 12:10:45
gopkg.in/ini.v1 配置加载 创建一个空的配置 cfg := ini.Empty() 直接加载存在的配置文件,如果文件不存在就会报错 cfg, err := ini.Load("app.ini") 可以同时加载多个配置文件,后面的配置文件键值会覆盖前面一个 cfg, err := ini.Load("app.ini", "app_dev.ini") 不能够确定其中哪些文件是不存在的,可以通过调用函数 LooseLoad() 来忽略它们。 cfg, err := ini.LooseLoad("app.ini", "app_dev.ini") 跳过无法识别的数据行 cfg, err := ini.LoadSources(ini.LoadOptions{SkipUnrecognizableLines: true}, "other.ini") 保存配置 比较原始的做法是输出配置到某个文件: err = cfg.SaveTo("app.ini") 保存时调整缩进 err = cfg.SaveToIndent("app.ini", "\t") 操作分区 获取制定分区的对象 sec, err := cfg.GetSection("db") 如果想要获取默认分区,则可以用空字符串代替分区名: sec, err := cfg.GetSection("") 相对应的,还可以使用 ini

C++读取ini文件

和自甴很熟 提交于 2019-11-30 10:07:25
Windows操作系统专门为此提供了6个API函数来对配置设置文件进行读、写:   (1)GetPrivateProfileInt()从私有初始化文件获取整型数值   (2)GetPrivateProfileString()从私有初始化文件获取字符串型值   (3)GetProfileInt从win.ini获取字符串值   (4)Write PrivateProfileString写字符串到私有初始化文件   (5)WriteProfile String写字符串到win.ini 我们可以把视图类的:OnInitialUpdate()函数作为程序启动时读取配置文件的入口,配置文件的存储格式如下:   [SECTION 1]   XPos=300   YPos=200   [SECTION 2]   Text=Hello 仅有两个节,XPos和YPos标明了待显示信息的坐标,而待显示的信息存储在第二节的Text项中,用读取访问私有配置设置文件的API函数将其分别读入到变量m_nPos,m_strText中,并通过Invalidate()调用OnDraw()函数,在其内用TextOut函数将该信息在读取的坐标位置显示出来:      一般配置文件是和应用程序存放在同一个目录中的如果用”C:\test\debug\test.ini“的绝对路径进行设置就会出现路径改变后找不到配置文件的问题

C# ini 文件解析库

大兔子大兔子 提交于 2019-11-29 22:10:43
ini解析 因为需要使用C#进行ini 文件读写操作, 看到官方说解析ini文件需要使用xml读写库。感觉太过麻烦。因为先前有MFC 读写INI文件的经验,感觉API非常简单,所以稍微封装了一下。 代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Runtime.InteropServices; namespace IniFile { class IniParser { [DllImport( "kernel32" )] private static extern long WritePrivateProfileString ( string section, string key, string val, string filePath); [DllImport( "kernel32" )] private static extern int GetPrivateProfileString ( string section, string key, string default_var, StringBuilder retVal, int buff_size, string filePath);

WINCE C#读写INI文件

戏子无情 提交于 2019-11-29 22:10:17
最近开发一个CE上的GPS程序,用到配置存储,由于数据比较少且数据结构简单,所以采用了INI格式,WINCE没有提供windows里读写ini的函数,就自己写了一个,代码如下(C#): ////////////////////////////////////////////////////////////////////////// //ini文件的C#读写 //钟磊 nivana999@163.com //20090714 class ZL_INI { /************************************************************************/ /*写操作 * strSection 节 * strKey 键 * strValue 需要写入的值 * strFilePath 配置文件的全路径(wince中只能使用绝对全路径) */ /************************************************************************/ public static void PutINI(string strSection, string strKey, string strValue, string strFilePath) { INICommon(false, strSection,

C#如何读写和创建INI文件

邮差的信 提交于 2019-11-29 22:07:49
在做项目过程中,有时需要保存一些简单的配置信息,可以使用xml,也可以使用INI文件。下面是C#中读取INI的方法,相信大部分朋友都使用过这种方式。 INI文件的存储方式如下, [section] key=value key=value 读取写入方法, [DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32")] private static extern int GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName); [DllImport("kernel32.dll", CharSet = CharSet.Auto)] private static extern uint GetPrivateProfileSection(string lpAppName, IntPtr lpReturnedString,