ini文件的操作
Delphi对INI文件进行读、写操作
myinifile.readsections(TStrings变量);可将INI文件中所有小节名读取至一个字符串列表变量中去。
myinifile:=TInifile.Create(filename);
四、读取关键字的值
针对INI文件支持的字符串、整型数值、布尔值三种数据类型,TINIfiles类提供了三种不同的对象方法来读取INI文件中关键字的值。
值得注意的是,如果括号中的文件名没有指明路径的话,那么这个Program.ini文件会存储在Windows目录中,把Program.ini文件存储在应用程序当前目录中的方法是:为其指定完整的路径及文件名。下面的ctFilePath(Paramstr(0))+"program.ini";
注释以分号“;”开头。
二、定义
1、在Interface的Uses节增加IniFiles;
2、在Var变量定义部分增加一行:
myinifile:Tinifile;
然后,就可以对变量myinifile进行创建、打开、读取、写入等操作了。
当这个INI文件不存在时,上面的语句还会自动创建该INI文件。
六、删除关键字
除了可用写入方法增加一个关键字,Tinifile类还提供了一个删除关键字的对象方法:
myinifile.DeleteKey("小节名","关键字");
myinifile.distory;
假设已定义变量vs、vi、vb分别为string、 integer、boolean类型。
IniFile Ini操作
IniFile Ini操作分类:Delphi 2010-07-10 22:24 903人阅读评论(0) 收藏举报INI文件的结构如下[小节名]关键字=值uses IniFiles; {操作Ini文件需要引用TIniFile 的单元}常用的方法WriteString 写入字符串WriteInteger 写入数字WriteBool 写入布尔值ReadString 读取字符串值ReadInteger 读取数字ReadBool 读取布尔值ReadSections 读取小节列表ReadSection 读取某小节下关键字列表ReadSectionValues 读取某小节下所有内容列表,包括关键字和值写入view plaincopy to clipboardprint? .........10........20........30........40........50........60........70........80........90........100.......110.......120.......130.......140. (150)varF:TIniFile;beginF := TIniFile.Create('c:/A.ini'); //如果文件存在则打开,如果不存在,当向其中写入数据时,将创建ini文件F.WriteString('PersonInfo','姓名','张三');F.WriteInteger('PersonInfo','年龄',20);F.WriteBool('PersonInfo','婚否',False);end;varF:TIniFile;beginF := TIniFile.Create('c:/A.ini'); //如果文件存在则打开,如果不存在,当向其中写入数据时,将创建ini文件F.WriteString('PersonInfo','姓名','张三');F.WriteInteger('PersonInfo','年龄',20);F.WriteBool('PersonInfo','婚否',False);end;读取:读取方法的第三个参数表示,当读取失败时,返回的结果,view plaincopy to clipboardprint?varF:TIniFile;name:string;age:Integer;merry:Boolean;beginF := TIniFile.Create('c:/A.ini');name := F.ReadString('PersonInfo','姓名','无名氏'); //当读取失败时,返回'无名氏',否则返回读取的值age := F.ReadInteger('PersonInfo','年龄',20);merry := F.ReadBool('PersonInfo','婚否',False);end;varF:TIniFile;name:string;age:Integer;merry:Boolean;beginF := TIniFile.Create('c:/A.ini');name := F.ReadString('PersonInfo','姓名','无名氏'); //当读取失败时,返回'无名氏',否则返回读取的值age := F.ReadInteger('PersonInfo','年龄',20);merry := F.ReadBool('PersonInfo','婚否',False);end;读取小节的列表view plaincopy to clipboardprint?varF:TIniFile;List:TStringList;begintryList := TStringList.Create;F := TIniFile.Create('c:/A.ini');F.ReadSections(List); //将小节依次读取到List中ShowMessage(List.Text); //显示小节列表内容finallyList.Free;F.Free;end;end;varF:TIniFile;List:TStringList;begintryList := TStringList.Create;F := TIniFile.Create('c:/A.ini');F.ReadSections(List); //将小节依次读取到List中ShowMessage(List.Text); //显示小节列表内容finallyList.Free;F.Free;end;读取某小节下的关键字列表view plaincopy to clipboardprint?varF:TIniFile;List:TStringList;begintryList := TStringList.Create;F := TIniFile.Create('c:/A.ini');F.ReadSection('PersonInfo',List); //将小节依次读取到List中ShowMessage(List.Text); //显示'PersonInfo'小节下关键字列表内容finallyList.Free;F.Free;end;end;varF:TIniFile;List:TStringList;begintryList := TStringList.Create;F := TIniFile.Create('c:/A.ini');F.ReadSection('PersonInfo',List); //将小节依次读取到List中ShowMessage(List.Text); //显示'PersonInfo'小节下关键字列表内容finallyList.Free;F.Free;end;end;读取某小节下所有内容列表,包括关键字和值view plaincopy to clipboardprint?F:TIniFile;List:TStringList;begintryList := TStringList.Create;F := TIniFile.Create('c:/A.ini');F.ReadSectionValues('PersonInfo',List); //将小节依次读取到List中ShowMessage(List.Text); //读取某小节下所有内容列表,包括关键字和值finallyList.Free;F.Free;end;end;varF:TIniFile;List:TStringList;begintryList := TStringList.Create;F := TIniFile.Create('c:/A.ini');F.ReadSectionValues('PersonInfo',List); //将小节依次读取到List中ShowMessage(List.Text); //读取某小节下所有内容列表,包括关键字和值finallyList.Free;F.Free;end;end;其它常用方法EraseSection 删除某个小节DeleteKey 删除关键字SectionExists 判断某个章节是否存在ValueExists 判断某个小节下的某个关键字是否存在本文来自CSDN博客,转载请标明出处:/bdmh/archive/2009/05/04/4147104.aspx一、INI文件的结构:; 注释[小节名]关键字=值INI文件允许有多个小节,每个小节又允许有多个关键字,“=”后面是该关键字的值。
ini文件用法 -回复
ini文件用法-回复Ini文件用法Ini文件是一种常见的配置文件格式,它被广泛应用于各种软件和操作系统中。
它的简洁和易于使用使得它成为配置文件的首选格式之一。
本文将逐步介绍ini文件的用法,并对其常见的操作进行详细解释。
I. 什么是Ini文件?Ini文件是一种普遍存在于Windows操作系统中的配置文件格式。
它由一系列节(section)和键值对(key-value pair)组成,用于存储和传递应用程序的配置信息。
Ini文件中的每个节都被方括号([])包围,而键值对则以键和值之间的等号(=)进行分隔。
II. Ini文件的基本语法一个基本的Ini文件由多个节组成,每个节都由方括号括起来。
每个节下面可以有多个键值对,键和值之间用等号连接。
例如:[section1]key1=value1key2=value2[section2]key3=value3key4=value4III. Ini文件的读写操作Ini文件常用于存储应用程序的配置信息。
在应用程序中,可以使用各种编程语言提供的函数或库来读取和写入Ini文件。
以下是一些常见的读写操作:1. 读取Ini文件读取Ini文件可以根据需要读取整个文件,或者只读取特定节或键的值。
大多数编程语言都提供了相应的函数或库来实现这些操作。
读取整个Ini 文件的示例代码如下:pythonimport configparserconfig = configparser.ConfigParser()config.read('config.ini')print(config.sections()) # 打印所有的节print(config['section1']['key1']) # 打印指定节的指定键的值上述示例代码使用了Python的configparser库来读取Ini文件。
configparser模块提供了ConfigParser类,它提供了简洁而强大的方法来读取和写入Ini文件。
ini文件只知道节名,读取节下所有值的方法qt
ini文件只知道节名,读取节下所有值的方法qt1.引言1.1 概述概述INI文件是一种常见的配置文件格式,它被广泛用于存储和管理应用程序的配置信息。
INI文件由一系列的节(section)和键值对(key-value)组成。
每个节包含一组相关的键值对,用来描述特定的配置项。
在读取INI 文件时,通常可以根据节名和键名来获取对应的值。
然而,在某些情况下,我们可能只知道节的名称,而不清楚该节下有哪些键值对。
本文将介绍如何通过Qt框架提供的方法来读取INI文件中某个节下的所有键值对。
首先,我们需要了解Qt框架中关于INI文件的相关类和函数。
Qt提供了一个名为QSettings的类,它是用于读写配置信息的工具类。
QSettings类支持INI文件格式,并提供了方便的方法来读取和写入INI 文件中的配置项。
在使用QSettings类读取INI文件时,我们可以先使用QSettings的构造函数来指定INI文件的路径,然后使用value()函数来获取指定节下的键值对。
为了读取某个节下的所有键值对,我们可以使用childGroups()函数来获取所有的子节名,然后再遍历每个子节获取其对应的键值对。
下面是一个简单的示例代码,展示了如何使用Qt框架中的QSettings 类来读取INI文件中某个节下的所有键值对:cppinclude <QSettings>include <QDebug>void readIniFile(const QString& filePath){QSettings settings(filePath, QSettings::IniFormat);QStringList sectionList = settings.childGroups();foreach (const QString& section, sectionList) {settings.beginGroup(section);QStringList keys = settings.childKeys();foreach (const QString& key, keys) {QString value = settings.value(key).toString();qDebug() << "Section:" << section << "Key:" << key << "Value:" << value;}settings.endGroup();}}int main(){QString filePath = "config.ini";readIniFile(filePath);return 0;}以上代码中,readIniFile()函数用于读取INI文件中某个节下的所有键值对。
利用TiniFile操作ini文件
利用TIniFile操作标准ini文件使用TIniFile可以操作标准ini文件,以便于存取应用程序的配置信息。
一个ini文件以逻辑分组的形式存储信息,称为区(section),在每个section中,存储着键名(key)及其对应的键值(value)。
<keyname>=<value>使用【FileName】作为参数传递文件名给TIniFile的构造函数,来指定需要读写的ini文件。
由于ini文件格式尤其适用于跨平台应用程序(注册表仅适用于windwos平台配置信息),所以至今仍然非常流行,许多配置文件都使用该格式。
VCL/RTL提供两种类,TIniFile和TMemIniFile,用于方便的读写ini文件。
TIniFile直接操作硬盘ini文件,而TMemIniFile将所有变更先缓存在内存中,直到调用UpdateFile方法时,才将这些内容写入硬盘文件中。
当初始化TIniFile或者TMemIniFile对象时,需要将ini文件名以参数形式传递给构造函数。
如果该文件不存在,将会自动创建。
然后,就可以使用各种不同的读取方法自由的读取数值,例如:ReadString,ReadDate,ReadInteger或者ReadBool。
另外,如果你想要读取ini文件的整个section,你可以使用ReadSection方法。
同样的,你可以使用方法WriteBool,WriteInteger,WriteDate或WriteString写入数值。
每种读方法使用3个参数。
第一参数指定ini文件的section。
第二个参数指定你想要读取的值,第三个参数是默认值,以便当section或数值不存在时,写方法自动创建该section或值。
例:下面的代码创建一个ini文件(格式如下)。
[Form]Top=100Left=100Caption=Default CaptionInitMax=0该例程后续执行中,在窗体创建时读入数值,在OnClose事件中写回。
python基础之ini文件操作
一、config.ini 配置文件[DATABASE]host = 192.1.1.1username = rootpassword = rootport = 3306database = jforum[URL]#ip,端口ip =127.0.0.1port= 8089二、操作ini常用方法‐‐read():读取配置文件‐‐sections():读取配置文件中所有的section(如上配置文件:DATABASE,URL)‐‐options(section):读取该section下所有的option(可以理解成读取该组下的所有key,如options("URL"),值['ip', 'port'])‐‐items(section):读取该section下的所有key‐vaule,并以键值对形式输出(如:sectioitems("URL"),值:[('ip', '127.0.0.1'), ('port', '8089')])‐‐get(section, option):读取指定section下面的option的值(可以理解成,读取具体某个section下面指定key的值,如config.get('URL','ip')),值:127.0.0.1)‐‐add_secti on(section):添加一个section,参数为section的名称‐‐set(section, option, value):在section下面添加一条数据(key=value)‐‐add与set需调用write(open(configPath, "a"))才可以写入ini文件 #参数a表示最近,w重写‐‐remove_secit on(seciton) 删除整个seciton‐‐config.remove_opti on(seciton,key) ,删除seciton的某个key值三、源码举例#!/usr/bin/python3# encoding:utf‐8'''Created on 2020‐04‐19 23:19@author: Administrator'''import configparserimport osfrom turtle import readconfig#获取文件绝对路径 D:\common\proDir = os.getcwd()#拼接文件路径 D:\common\config.iniconfigPath = os.path.join(proDir, "config.ini")#创建管理对象config = configparser.ConfigParser()#读取配置类class readConfig():#读取ini文件config.read(configPath, encoding="UTF‐8")#获取所有的section@staticmethoddef get_sections():return config.sections()@staticmethoddef get_items(section):return config.items(section)@staticmethoddef get_options(section):return config.options(section)@staticmethoddef get_Vaule(section,name):value = config.get(section, name)return value@staticmethoddef add_section():config.add_section('HTTP')@staticmethoddef set_section(section, option, value):config.set(section, option, value)@staticmethoddef remove_seciton(seciton):config.remove_section(seciton)@staticmethoddef remove_seciton_value(seciton,key):config.remove_option(seciton,key)if __name__=='__main__':print('‐‐‐‐‐1.打印所有section')print(readConfig.get_sections())print('‐‐‐‐‐2.打印section=URL的所有key‐Value值')print(readConfig.get_items("URL"))print('‐‐‐‐‐3.打印section=URL的所有key值')print(readConfig.get_options("URL"))print('‐‐‐‐‐4.打印section=URL,key=ip的value值')print(readConfig.get_Vaule('URL','ip'))print('‐‐‐‐‐5.新增之后打印所有section,注意有一个新增值HTTP')readConfig.add_section()print(readConfig.get_sections())print('‐‐‐‐‐6.新增section=HTTP,key=port,value=443,查看值,443为新增的值')readConfig.set_section('HTTP', 'port', '443')print(readConfig.get_Vaule('HTTP','port'))#上面的新增并不会真的真正写入,需加这个才能正在写入ini文件,如果参数为"w"则表示删除文件重新写入,"a"为追加模式写入#config.write(open(configPath, "a"))print('‐‐‐‐‐7.删除sections=URL,打印所有sections,注意URL已被删除')readConfig.remove_seciton("URL")print(readConfig.get_sections())print('‐‐‐‐‐8.删除sections=DATABASE,key=host,打印所有key值,注意host已被删除')readConfig.remove_seciton_value('DATABASE','host')print(readConfig.get_options('DATABASE'))运行结果‐‐‐‐‐1.打印所有section['DATABASE', 'URL']‐‐‐‐‐2.打印section=URL的所有key‐Value值[('ip', '127.0.0.1'), ('port', '8089')]‐‐‐‐‐3.打印section=URL的所有key值['ip', 'port']‐‐‐‐‐4.打印section=URL,key=ip的value值127.0.0.1‐‐‐‐‐5.新增之后打印所有section,注意有一个新增值HTTP['DATABASE', 'URL', 'HTTP']‐‐‐‐‐6.新增section=HTTP,key=port,value=443,查看值,443为新增的值 443‐‐‐‐‐7.删除sections=URL,打印所有sections,注意URL已被删除['DATABASE', 'HTTP']‐‐‐‐‐8.删除sections=DATABASE,key=host,打印所有key值,注意host已被删除 ['username', 'password', 'port', 'database']。
CSharp操作ini文件完美版_附带ini介绍
CSharp操作ini文件★Ini文件简介.ini 文件是Initialization File的缩写,即初始化文件。
是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了,但在某些情况,还是要直接编辑.ini才方便,一般只有很熟悉windows才能去直接编辑。
开始时用于WIN3X下面,WIN95用注册表代替,以及后面的内容表示一个节,相当于注册表中的键。
除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户的要求。
一般不用直接编辑这些.ini文件,应用程序的图形界面即可操作以实现相同的功能。
它可以用来存放软件信息,注册表信息,配置信息等。
★Ini文件格式INI文件由节、键、值组成。
(ini文件内容不区分大小写)节(段落)[section]参数(键=值)name=value注解注解使用分号(英文分号)表示(;)。
在分号后面的文字,直到该行结尾都全部为注解。
★示例以下为一个简单的ini文件(abc.ini)的内容(ini文件可以用记事本打开、修改)[Section1]KeyName1=value1KeyName2=value2;这里是注释[Section2 Name]KeyName21=value21KeyName22=value22其中:[Section1]、[Section2 Name]用来表示一个段落。
因为INI文件可能是项目中共用的,所以使用[段名]来区分不同用途的参数区。
例如:[Section1]表示传感器灵敏度参数区;[Section2 Name]表示测量通道参数区等等。
KeyName1=value1用来表示一个参数名和值。
比如:7033=50 7034=51 其中:7033表示某传感器名,50表示它的灵敏度值。
7034表示另一只传感器名,51表示它的灵敏度值。
.ini文件的介绍及对其进行操作
.ini⽂件的介绍及对其进⾏操作.ini⽂件其实跟.txt⽂件是差不多的,只不过它有⾃⼰的⼀套读取⽅式,对.ini⽂件进⾏操作也有很多⽅法,⽽且现在⽹上还有很多⼈已经把它写成了⼀个类,可以⽅便的对.ini⽂件进⾏操作,我这⾥介绍的是在WIN32控制台项⽬的平台下进⾏对⾮win.ini⽂件进⾏操作。
经典格式:INI⽂件的格式很简单,最基本的三个要素是:parameters,sections和comments。
什么是parameters?INI所包含的最基本的“元素”就是parameter;每⼀个parameter都有⼀个name和⼀个value,name和value是由等号“=”隔开。
name在等号的左边。
如:name = value什么是sections ?所有的parameters都是以sections为单位结合在⼀起的。
所有的section名称都是独占⼀⾏,并且sections名字都被⽅括号包围着([ and ])。
在section声明后的所有parameters都是属于该section。
对于⼀个section没有明显的结束标志符,⼀个section的开始就是上⼀个section的结束,或者是end of the file。
Sections⼀般情况下不能被nested,当然特殊情况下也可以实现sections的嵌套。
section如下所⽰:[section]什么是comments ?在INI⽂件中注释语句是以分号“;”开始的。
所有的所有的注释语句不管多长都是独占⼀⾏直到结束的。
在分号和⾏结束符之间的所有内容都是被忽略的。
注释实例如下:;comments text下⾯先介绍⼏个函数,它们的头⽂件是windows.h⼀、对.ini⽂件写⼊数据:函数原型:BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName); 其中各参数的意义:LPCTSTR lpAppName 是INI⽂件中的⼀个字段名.LPCTSTR lpKeyName 是lpAppName下的⼀个键名,通俗讲就是变量名.LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的.LPCTSTR lpFileName 是完整的INI⽂件名.2.具体使⽤⽅法:设现有⼀名学⽣,需把他的姓名和年龄写⼊ c:\stud\student.ini ⽂件中.CString strName,strTemp;strName="ZhangSan";::WritePrivateProfileString("StudentInfo","Name",strName,"c:\\stud\\student.ini");此时 c:\stud\student.ini⽂件中的内容如下:要将整型的数据保存,将整型的转换为串型的,然后向上⾯那样操作就⾏了⼆.将信息从INI⽂件中读⼊程序中的变量.1.所⽤的WINAPI函数原型为:DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefault,LPTSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName);其中各参数的意义:前⼆个参数与 WritePrivateProfileString中的意义⼀样.lpDefault : 如果INI⽂件中没有前两个参数指定的字段名或键名,则将此值赋给变量.lpReturnedString : 接收INI⽂件中的值的CString对象,即⽬的缓存器.nSize : ⽬的缓存器的⼤⼩.lpFileName : 是完整的INI⽂件名.2.具体使⽤⽅法:现要将上⼀步中写⼊的学⽣的信息读⼊程序中.CString strStudName;int nStudAge;GetPrivateProfileString("StudentInfo","Name","默认姓名",strStudName.GetBuffer(MAX_PATH),MAX_PATH,"c:\\stud\\student.ini");执⾏后 strStudName 的值为:"张三",若前两个参数有误,其值为:"默认姓名".3.读⼊整型值要⽤另⼀个WINAPI函数:UINT GetPrivateProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT nDefault,LPCTSTR lpFileName);这⾥的参数意义与上相同.使⽤⽅法如下:nStudAge=GetPrivateProfileInt("StudentInfo","Age",10,"c:\\stud\\student.ini");下⾯是我⾃⼰学习的时候⽤来测试的WS代码,编译环境VS2003,系统XP代码1 #include "stdafx.h"2 #include "windows.h"3 #include "atlstr.h"45int _tmain(int argc, _TCHAR* argv[])6 {7 LPCTSTR strTemp = "ZhangSan";8 CString str;9 str = "nihao";10int nAge = 12;11 str.Format("%d",nAge);12 CString strStudName;13int nStudAge;14 ::WritePrivateProfileString("StudentInfo","Name",strTemp,15"C:\\Documents and Settings\\Administrator\\桌⾯\\noname\\student.ini");16 ::WritePrivateProfileString("StudentInfo","Age",str,17"C:\\Documents and Settings\\Administrator\\桌⾯\\noname\\student.ini");18 ::GetPrivateProfileString("StudentInfo","Name","noname",strStudName.GetBuffer(MAX_PATH),MAX_PATH, 19"C:\\Documents and Settings\\Administrator\\桌⾯\\noname\\student.ini");20 nStudAge = ::GetPrivateProfileInt("StudentInfo","Age",10,21"C:\\Documents and Settings\\Administrator\\桌⾯\\noname\\student.ini");22 printf("%s\n",strStudName);23 printf("%d\n",nStudAge);24 getchar();25return0;26 }在当我郁闷,如果parameters相同的时候,要怎么样读取数据,我看了⼀下.ini⽂件⾥⾯的内容,发现在同⼀个section下还没有出现过有相同parameters的情况出现最后附上函数总表函数含义GetProfileInt从win.ini⽂件指定Section中读取⼀个int属性值GetProfileSection从win.ini⽂件指定Section中获取所有的属性GetProfileString从win.ini⽂件指定Section中读取⼀个⽂本属性值WriteProfileSection向win.ini⽂件写⼊⼀个SectionWriteProfileString向win.ini⽂件指定Section中写⼊⼀个⽂本属性值GetPrivateProfileInt从指定的INI⽂件的Section中读取⼀个int属性值GetPrivateProfileSection从指定的INI⽂件中读取指定的SectionGetPrivateProfileSectionNames从指定的INI⽂件中获取所有的Section名GetPrivateProfileString从指定的INI⽂件的Section中读取⼀个⽂本属性值GetPrivateProfileStruct从指定的INI⽂件的Section中读取⼀个结构属性值WritePrivateProfileSection向指定的INI⽂件写⼊⼀个SectionWritePrivateProfileString向指定的INI⽂件的Section中写⼊⼀个⽂本属性值WritePrivateProfileStruct向指定的INI⽂件的Section中写⼊⼀个结构属性值。
对ini文件的操作
ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。
ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。
读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成一、向ini文件中写入信息的函数1. 把信息写入系统的win.ini文件BOOL WriteProfileString(LPCTSTR lpAppName, // 节的名字,是一个以0结束的字符串LPCTSTR lpKeyName, // 键的名字,是一个以0结束的字符串。
若为NULL,则删除整个节LPCTSTR lpString // 键的值,是一个以0结束的字符串。
若为NULL,则删除对应的键)2. 把信息写入自己定义的.ini文件BOOL WritePrivateProfileString(LPCTSTR lpAppName, //节的名字,是一个以0结束的字符串LPCTSTR lpKeyName, // 键的名字,是一个以0结束的字符串。
若为NULL,则删除整个 LPCTSTR lpString, //键的名字,是一个以0结束的字符串。
若为NULL,则删除整个节LPCTSTR lpFileName // 要写入的文件的文件名。
若该ini文件与程序在同一个目录下,也可使用相对路径,否则需要给出绝对路径。
)如:::WriteProfileString("Test","id","xym");//在win.ini中创建一个Test节,并在该节中创建一个键id,其值为xym::WritePrivateProfileString("Test","id","xym","d:\vc\Ex1\ex1.ini");//在Ex1目录下的ex1.ini中创建一个Test节,并在该节中创建一个键id,其值为xym//若Ex1.ini文件与读写该文件的程序在同一个目录下,则上面语句也可写为:::WritePrivateProfileString("Test","id","xym",".\ex1.ini");需要注意的是,C系列的语言中,转义字符'\'表示反斜线''。
python ini文件操作例子
python ini文件操作例子```1. ini文件基本概念ini文件是一种配置文件,通常用于应用程序的设置和参数配置。
它是一种纯文本文件,可以使用配置项的形式存储数据。
配置项由键值对组成,每个配置项占用一行。
2. Python操作ini文件的方法Python中有多种操作ini文件的方法,这里我们介绍两种常用的库:`configparser`和`python-ini-parser」。
2.1 configparser库configparser是Python的标准库,用于处理ini文件。
下面是一个简单的例子:```pythonimport configparser#创建一个配置解析器对象config = configparser.ConfigParser()#读取ini文件config.read('example.ini')#获取配置项值section = 'example_section'key = 'example_key'value = config.get(section, key)print(f'{section}.{key}: {value}')#修改配置项值config.set(section, key, 'new_value')#写入ini文件with open('example.ini', 'w') as f:config.write(f)```2.2 python-ini-parser库python-ini-parser是一个轻量级的ini文件解析库,下面是一个简单的例子:```pythonfrom ini import Ini#创建一个Ini对象ini_file = 'example.ini'ini = Ini(ini_file)#获取配置项值section = 'example_section'key = 'example_key'value = ini.get(section, key)print(f'{section}.{key}: {value}')#修改配置项值ini.set(section, key, 'new_value')#写入ini文件ini.write(ini_file)```3.总结通过以上例子,我们可以看到Python操作ini文件的方法非常简单。
VB如何操作INI文件方法详解
VB如何操作INI文件方法详解INI文件是Windows系统中常用的配置文件格式,用于存储程序的配置信息。
在VB中,可以通过读取和写入INI文件来操作和修改配置信息。
下面是详细的操作INI文件的方法:1.引入API函数:在VB中,需要使用一些API函数来实现对INI文件的读取和写入操作,因此我们需要在代码中引入这些函数。
在模块中添加以下代码:```vbPrivate Declare Function GetPrivateProfileString Lib"kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As LongPrivate Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long ```2.读取INI文件:读取INI文件的方法是使用GetPrivateProfileString函数,该函数有6个参数,分别对应应用程序名称、键名、默认值、返回的字符串、字符串长度和INI文件路径。
QT配置ini文件的建立,读取,写入操作
ini文件格式INI文件由节、键、值组成。
节[section]参数(键=值)name=value下面是一个ini文件的例子[Section1Name]KeyName1=value1KeyName2=value2...[Section2Name]KeyName21=value21KeyName22=value22其中:[Section1Name]用来表示一个段落。
因为INI文件可能是项目中共用的,所以使用[Section Name]段名来区分不同用途的参数区。
例如:[Section1Name]表示传感器灵敏度参数区;[Section2Name]表示测量通道参数区等等。
注解:使用分号表示(;)。
在分号后面的文字,直到该行结尾都全部为注解。
二Qt写ini文件[cpp]view plaincopyprint?1#include<QtCore/QCoreApplication>2#include<QSettings>3int main(int argc,char*argv[])4{5QCoreApplication a(argc,argv);6//Qt中使用QSettings类读写ini文件7//QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省8QSettings*configIniWrite=new QSettings("hahaya.ini",QSettings::IniFormat);9//向ini文件中写入内容,setValue函数的两个参数是键值对10//向ini文件的第一个节写入内容,ip节下的第一个参数11configIniWrite->setValue("/ip/first","192.168.0.1");12//向ini文件的第一个节写入内容,ip节下的第二个参数13configIniWrite->setValue("ip/second","127.0.0.1");14//向ini文件的第二个节写入内容,port节下的第一个参数15configIniWrite->setValue("port/open","2222");16//写入完成后删除指针17delete configIniWrite;1819return a.exec();20}[cpp]view plain copyprint?21#include<QtCore/QCoreApplication>22#include<QSettings>23int main(int argc,char*argv[])24{25QCoreApplication a(argc,argv);26//Qt中使用QSettings类读写ini文件27//QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省28QSettings*configIniWrite=new QSettings("hahaya.ini",QSettings::IniFormat);29//向ini文件中写入内容,setValue函数的两个参数是键值对30//向ini文件的第一个节写入内容,ip节下的第一个参数31configIniWrite->setValue("/ip/first","192.168.0.1");32//向ini文件的第一个节写入内容,ip节下的第二个参数33configIniWrite->setValue("ip/second","127.0.0.1");34//向ini文件的第二个节写入内容,port节下的第一个参数35configIniWrite->setValue("port/open","2222");36//写入完成后删除指针37delete configIniWrite;3839return a.exec();40}运行程序后,打开程序目录下的hahaya.ini文件,结果如下图所示:三Qt读ini文件[cpp]view plaincopyprint?41#include<QtCore/QCoreApplication>42#include<QSettings>43#include<QString>44#include<QDebug>45int main(int argc,char*argv[])46{47QCoreApplication a(argc,argv);4849QSettings*configIniRead=new QSettings("hahaya.ini",QSettings::IniFormat);50//将读取到的ini文件保存在QString中,先取值,然后通过toString()函数转换成QString类型51QString ipResult=configIniRead->value("/ip/second").toString();52QString portResult=configIniRead->value("/port/open").toString();53//打印得到的结果54qDebug()<<ipResult;55qDebug()<<portResult;56//读入入完成后删除指针57delete configIniRead;58return a.exec();59}[cpp]view plain copyprint?60#include<QtCore/QCoreApplication>61#include<QSettings>62#include<QString>63#include<QDebug>64int main(int argc,char*argv[])65{66QCoreApplication a(argc,argv);6768QSettings*configIniRead=new QSettings("hahaya.ini",QSettings::IniFormat);69//将读取到的ini文件保存在QString中,先取值,然后通过toString()函数转换成QString类型70QString ipResult=configIniRead->value("/ip/second").toString();71QString portResult=configIniRead->value("/port/open").toString();72//打印得到的结果73qDebug()<<ipResult;74qDebug()<<portResult;75//读入入完成后删除指针76delete configIniRead;77return a.exec();78}程序运行截图:。
Qt操作ini文件
return a.exec(); }
// 写ini配置文件 void setIni() {
QSettings * myini = new QSettings("config.ini", QSettings::IniFormat); myini->setValue("person/name", "张三"); myini->setValue("person/age", "12"); myini->setValue("cat/name", "小小"); delete myini; }
看了csdn几百个帖子全是?是一个字不改的复制终于在这看见个不一样的一下就解决了我的问题????????????????????????
Qt操作 ini文件
操作文件,无非就是读与写,以下为Qt读写ini文件的代码。
demo:
#incllude <QApplication> #include <QSettings> #include <QDebug>
qDebug() << "人的姓名: " << personName ; qDebug() << "猫的姓名: " << catName ; }
int main(int argc, char *argv[]) {
QApplication a(argc, argv); Widget w; w.show();
// 读ini配置文件 void getIni() {
C#操作ini(读取、写入)
C#操作ini(读取、写⼊)C#操作ini(读取、写⼊)INI⽂件是⼀种按照特点⽅式排列的⽂本⽂件,该⽂件主要存放⽤户所做的选择以及系统的各种参数。
⽤户可以通过修改INI⽂件,来改变应⽤程序和系统的很多配置。
但⾃从Windows 95的退出,在Windows系统中引⼊了注册表的概念,INI⽂件在Windows系统的地位就开始不断下滑,这是因为注册表的独特优点,使应⽤程序和系统都把许多参数和初始化信息放进了注册表中。
但在某些场合,INI⽂件还拥有其不可替代的地位。
INI⽂件的结构INI⽂件是⼀种按照特点⽅式排列的⽂本⽂件。
每⼀个INI⽂件构成都⾮常类似,由若⼲段落(section)组成,在每个带括号的标题下⾯,是若⼲个以单个单词开头的关键词(keyword)和⼀个等号,等号右边的就是关键字对应的值(value)。
其⼀般形式如下:[Section1] KeyWord1 = Valuel KeyWord2 = Value2 ...... [Section2] KeyWord3 = Value3 KeyWord4 = Value4[DllImport("kernel32")]private static extern int GetPrivateProfileString(string section, string key, string defVal, StringBuilder retVal, int size, string filePath);注:section:要读取的段落名key: 要读取的键defVal: 读取异常的情况下的缺省值retVal: key所对应的值,如果该key不存在则返回空值size: 值允许的⼤⼩filePath: INI⽂件的完整路径和⽂件名[DllImport("kernel32")]private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);注:section: 要写⼊的段落名key: 要写⼊的键,如果该key存在则覆盖写⼊val: key所对应的值filePath: INI⽂件的完整路径和⽂件名/// <summary>/// 读取INI⽂件/// </summary>/// <param name="section">项⽬名称(如 [section] )</param>/// <param name="skey">键</param>/// <param name="path">路径</param>public string IniReadValue(string section, string skey, string path){StringBuilder temp = new StringBuilder(500);int i = GetPrivateProfileString(section, skey, "", temp, 500, path);return temp.ToString();}/// <summary>/// 写⼊ini⽂件/// </summary>/// <param name="section">项⽬名称</param>/// <param name="key">键</param>/// <param name="value">值</param>/// <param name="path">路径</param>public void IniWrite(string section, string key, string value,string path) {WritePrivateProfileString(section, key, value, path); }测试://创建⼀个test.ini⽂件并在A段落写⼊姓名(key)=wlj(value)IniWrite("A","姓名","wlj","f:/test.ini")IniWrite("B","姓名","WZQ","f:/test.ini")test.ini⽂件的格式:ini模版:[A]姓名=wlj[B]姓名=WZQ//读取test.ini⽂件中A 段落键=姓名的值IniReadValue("A","姓名","f:/test.ini")//读取test.ini⽂件中A 段落中所有值IniReadValue("A",null,"f:/test.ini")//删除test.ini⽂件中A 段落中所有键(没有键,也就没有值了)IniWrite("A",null,null,"f:/test.ini")//删除test.ini⽂件中所有段落IniWrite(null,null,null,"f:/test.ini")。
INI格式介绍
INIINI是微软Windows操作系统中的文件扩展名。
这些字母表示初始化。
正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参数设置。
在Windows操作系统中存在两个INI文件:SYSTEM.INI和WIN.INI。
在纯文本处理器或DOS编辑器中打开INI文件就有可能知道这些文件大概要做些什么。
这些文件中包括对鼠标,键盘,外围设备,显示器颜色,密码等的变量参数的设置声明。
在正常情况下,这些文件在文本编辑器中不能被改动。
(如文本编辑器在关闭之前显示“保存修改”,这时应点“否”。
)在Windows 95, 98, NT及之后的版本中,大部分的设置是通过对注册表的修改实现的,而不是通过使用INI文件。
某些程序包含自身的INI文件。
这些文件的内容的修改通常时通过该程序的用户界面来更改程序的特征,并不是通过编辑文件本身来进行的。
.ini , .inc之类的文件,一般是放一些常量或数据库链接语句等,再在需要的页面包含进去,和直接命为asp 是没什么区别的。
但为了安全性,最好不要用这些后缀名,因为知道文件名时,在浏览器里输入该文件的地址时,可看到所有内容的。
在Windows系统中,INI文件是很多,最重要的就是“System.ini”、“System32.i ni”和“Win.ini”。
该文件主要存放用户所做的选择以及系统的各种参数。
用户可以通过修改INI文件,来改变应用程序和系统的很多配置。
但自从Windows 95的退出,在Windows系统中引入了注册表的概念,INI文件在Windows系统的地位就开始不断下滑,这是因为注册表的独特优点,使应用程序和系统都把许多参数和初始化信息放进了注册表中。
但在某些场合,INI文件还拥有其不可替代的地位。
.ini 文件是windows的系统配置文件,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了,但在某些情况,还是要直接编辑.ini才方便,一般只有很熟悉windows才能去直接编辑。
ini格式文件操作方法
ini格式⽂件操作⽅法ini格式⽂件ini⽂件是Initialization File的缩写,平时⽤于存储软件的的配置⽂件。
例如:MySQL数据库的配置⽂件。
[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socklog-bin=py-mysql-bincharacter-set-server=utf8collation-server=utf8_general_cilog-error=/var/log/mysqld.log# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0[mysqld_safe]log-error=/var/log/mariadb/mariadb.logpid-file=/var/run/mariadb/mariadb.pid[client]default-character-set=utf8这种格式是可以直接使⽤open来出来,考虑到⾃⼰处理⽐较⿇烦,所以Python为我们提供了更为⽅便的⽅式。
import configparserconfig = configparser.ConfigParser()config.read('files/my.ini', encoding='utf-8')# config.read('/Users/wupeiqi/PycharmProjects/luffyCourse/day09/files/my.ini', encoding='utf-8')# 1.获取所有的节点"""result = config.sections()print(result) # ['mysqld', 'mysqld_safe', 'client']"""# 2.获取节点下的键值"""result = config.items("mysqld_safe")print(result) # [('log-error', '/var/log/mariadb/mariadb.log'), ('pid-file', '/var/run/mariadb/mariadb.pid')]for key, value in config.items("mysqld_safe"):print(key, value)"""# 3.获取某个节点下的键对应的值"""result = config.get("mysqld","collation-server")print(result)"""# 4.其他# 4.1 是否存在节点# v1 = config.has_section("client")# print(v1)# 4.2 添加⼀个节点# config.add_section("group")# config.set('group','name','wupeiqi')# config.set('client','name','wupeiqi')# config.write(open('files/new.ini', mode='w', encoding='utf-8'))# 4.3 删除# config.remove_section('client')# config.remove_option("mysqld", "datadir")# config.write(open('files/new.ini', mode='w', encoding='utf-8'))读取所有节点import configparserconfig = configparser.ConfigParser()config.read('/Users/wupeiqi/PycharmProjects/luffyCourse/day09/files/my.conf', encoding='utf-8')# config.read('my.conf', encoding='utf-8')ret = config.sections()print(ret)>>输出['mysqld', 'mysqld_safe', 'client']读取节点下的键值import configparserconfig = configparser.ConfigParser()config.read('/Users/wupeiqi/PycharmProjects/luffyCourse/day09/files/my.conf', encoding='utf-8') # config.read('my.conf', encoding='utf-8')item_list = config.items("mysqld_safe")print(item_list)>>输出[('log-error', '/var/log/mariadb/mariadb.log'), ('pid-file', '/var/run/mariadb/mariadb.pid')]读取节点下值(根据节点+键)import configparserconfig = configparser.ConfigParser()config.read('/Users/wupeiqi/PycharmProjects/luffyCourse/day09/files/my.conf', encoding='utf-8') value = config.get('mysqld', 'log-bin')print(value)>>输出py-mysql-bin检查、删除、添加节点import configparserconfig = configparser.ConfigParser()config.read('/Users/wupeiqi/PycharmProjects/luffyCourse/day09/files/my.conf', encoding='utf-8') # config.read('my.conf', encoding='utf-8')# 检查has_sec = config.has_section('mysqld')print(has_sec)# 添加节点config.add_section("SEC_1")# 节点中设置键值config.set('SEC_1', 'k10', "123")config.set('SEC_1', 'name', "哈哈哈哈哈")config.add_section("SEC_2")config.set('SEC_2', 'k10', "123")# 内容写⼊新⽂件config.write(open('/Users/wupeiqi/PycharmProjects/luffyCourse/day09/files/xxoo.conf', 'w'))# 删除节点config.remove_section("SEC_2")# 删除节点中的键值config.remove_option('SEC_1', 'k10')config.write(open('/Users/wupeiqi/PycharmProjects/luffyCourse/day09/files/new.conf', 'w'))。
c#操作ini文件
无论在web还是在窗体程序的时候,可能都需要配置文件来保存一些数据,比如登陆QQ 的时候保存帐号密码,网站的保存(网站使用的是cookie与本文无关),那么他们是怎么保存的呢?其实就是创建文件,文字流写入进文件。
就是这么简单。
有人会问,那数据不是不安全了么?我想里面保存的数据安不安全完全看你用什么方式来加密跟创建文件毫无关系。
那么接下来,就用简单的方式来操作配置文件的写法。
代码如下那么如果文件存在了怎么办?根据我现在的业务需求就是如果有配置文件那就读取配置文件的信息操作ini文件的时候我们需要调用win apiDllImport是最常见的就是使用它来调用WIN32的API,例如上面所示。
extern 修饰符用于声明在外部实现的方法。
extern 修饰符的常见用法是在使用Interop 服务调入非托管代码时与DllImport 属性一起使用。
INI文件格式是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中。
这种配置文件的文件扩展名多为INI,故名。
INI是英文“初始化”(initialization)的缩写。
正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参数设置。
因为默认创建的是空的配置文件,我们先手动的添加一些东西,[config]的意识是节点名称,类似xml的的节点读取的方式这里的路径我们要写绝对路径,系统要求的,相对路径会查不到。
好了运行后我们会得到UserID这个key的value的值可以试一试哟那么有读取了,上图是读取一个节点,那么如果很多节点写起来就麻烦了很多,我们把这个读的方法抽取出来读取的方式我们搞定了,那么我们来画个窗体做写入事件。
写入的系统函数写入的系统函数写入的系统函数写入方法写入也搞定了,那在窗体界面上我们看到了有一个单选框是否保存密码,大家应该知道怎么做了吧?就到这里~~有问题可以回复,有时间就解答。
Python操作配置文件ini的三种方法讲解
Python操作配置⽂件ini的三种⽅法讲解python 操作配置⽂件ini的三种⽅法⽅法⼀:crudini 命令说明crudini命令是Linux下的⼀个操作配置⽂件的命令⼯具⽤法crudini --set [--existing] config_file section [param] [value] # 修改配置⽂件内容crudini --get [--format=sh|ini] config_file [section] [param] # 获取配置⽂件内容crudini --del [--existing] config_file section [param] # 删除配置⽂件内容crudini --merge [--existing] config_file [section] # 合并举例添加crudini --set test.ini test_section test_param test_value更新crudini --set [--existing] test.ini test_section test_param test_value删除删除param:crudini --del test.ini test_section test_param删除section:crudini --del test.ini test_section获取crudini --del test.ini test_section test_param如果该标量不在某⼀个section⾥⾯,则section⽤⼀个空字符表⽰:crudini --del test.ini '' test_param合并将another.ini配置⽂件合并到test.ini中:crudini --merge test.ini < another.ini⽅法⼆:ConfigParser模块说明ConfigParser 模块为常⽤的操作ini⽂件的模块,但是存在⼀些缺陷,⽆法识别section的⼤⼩写,⽆法读取⽂件注释,这样修带有注释的配置⽂件时就会存在问题。
INI文件格式及其操作代码
INI⽂件格式及其操作代码INI⽂件格式如下:[Database]server=wlqdatabase=mydatabaseuid=sapwd=123456说明:(有4个key)Section为:DatabaseKey为:server database uid pwd/***************代码******************/using System;using System.IO;using System.Runtime.InteropServices;using System.Text;namespace Sx_Mdi{/// <summary>/// Summary description for Class1./// </summary>public class IniFile{//⽂件INI名称public string Path;////声明读写INI⽂件的API函数[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 def,StringBuilder retVal,int size,string filePath); //类的构造函数,传递INI⽂件名public IniFile(string inipath){//// TODO: Add constructor logic here//Path = inipath;}//写INI⽂件public void IniWriteValue(string Section,string Key,string Value){WritePrivateProfileString(Section,Key,Value,this.Path);}//读取INI⽂件指定public string IniReadValue(string Section,string Key){StringBuilder temp = new StringBuilder(255);int i = GetPrivateProfileString(Section,Key,"",temp,255,this.Path);return temp.ToString();}}}操作范例:public static SqlConnection MyConnection(){string sPath;string ServerName,userId,sPwd,DataName;sPath = GetPath();IniFile ini = new IniFile(sPath);ServerName = ini.IniReadValue ("Database","server");userId = ini.IniReadValue ("Database","uid");sPwd = ini.IniReadValue ("Database","pwd");DataName = ini.IniReadValue ("Database","database");string strSql = "server =" + ServerName+";uid ="+ userId +";pwd =;database ="+ DataName; SqlConnection myConn=new SqlConnection(strSql); return myConn;}/***************代码******************/。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
delphi开发 ini文件使用详解:ini文件创建、打开、读取、写入操作。
ini
文件常用作配置文件使用
(1)INI文件的结构:
[节点]
关键字=值
注:INI文件允许有多个节点,每个节点又允许有多个关键字,“=”后面是该关键字的值(类型有串、整型数值和布尔值。
其中字符串存贮在INI文件中时没有引号,布尔真值用1表示,布尔假值注释以分号“;”开头。
(2)INI文件的操作
1、在Interface的Uses节增加IniFiles;
2、在Var变量定义部分增加一行:inifile:Tinifile;然后,就可以对变量myinifile进行创建、写入等操作了。
procedureTForm1.FormCreate(Sender:TObject);
var
filename:string;
begin
filename:=ExtractFilePath(paramstr(0))+‘tmp.ini’;
inifile:=TInifile.Create(filename);
或filename:=getcurrentdir+ 'tmp.ini ';
或inifile:=TInifile.Create(‘d:\tmp.ini’);
3、打开INI文件:inifile:=Tinifile.create('tmp.ini'); //文件必须存在
4、读取关键字的值:
a:=inifile.Readstring('节点','关键字',缺省值);// string类型
b:=inifile.Readinteger('节点','关键字',缺省值);// integer类型
c:=inifile.Readbool('节点','关键字',缺省值);// boolean类型
edit1.text:=inifile.Readstring('程序参数,'用户',‘’);
checkbox1.checked:=inifile.Readbool('程序参数,'用户',checkbox1.checked);// boolean类型
inifile.Readstring('程序参数,'用户',edit1.text);
inifile.Readbool('程序参数,'用户',checkbox1.checked);
其中[缺省值]为该INI文件不存在该关键字时返回的缺省值。
5、写入INI文件:
inifile.writestring('节点','关键字',变量或字符串值);
inifile.writeinteger('节点','关键字',变量或整型值);
inifile.writebool('节点','关键字',变量或True或False);
当这个INI文件的节点不存在时,上面的语句还会自动创建该INI文件。
6、删除关键字:
inifile.DeleteKey('节点','关键字');//关键字删除
inifile.EraseSection('节点');//节点删除
7、节点操作:
inifile.readsection('节点',TStrings变量);//可将指定小节中的所有关键字名读取至一个字符串列表变inifile.readsections(TStrings变量);//可将INI文件中所有小节名读取至一个字符串列表变量中去。
inifile.readsectionvalues('节点',TStrings变量);//可将INI文件中指定小节的所有行(包括关键字、=至一个字符串列表变量中去。
8、释放:inifile.distory;或inifile.free;。