1. 如何编写或从XML配置文件中读取
配置文件是XML配置文件(配置) config文件中会有像许多条目<name>
abcd
</name>
<company>
xyz
</company>
<choise>
choise1
</choise>
NSIS共有4 XML的插件可供选择; NsisXML(由Wizou).xML插件,NsisXML(乔尔)和NSXML 使用NsisXML(由Wizou):Outfile "$%temp%NSISTest.exe"
RequestExecutionLevel user
Installdir "$Temp"
Showinstdetails show
!include LogicLib.nsh
Page InstFiles
!define XMLFILE "$instdirmyxml.xml"
Section
StrCpy $9 "Did not exist"
nsisXML::create
nsisXML::load "${XMLFILE}"
${If} $0 = 0
;build a new basic XML file:
nsisXML::create
nsisXML::createProcessingInstruction "xml" 'version="1.0" encoding="UTF-8" standalone="yes"'
nsisXML::appendChild
nsisXML::release $2
${EndIf}
nsisXML::select '/choise'
${If} $2 = 0
StrCpy $1 $0
nsisXML::createElement "choise"
nsisXML::appendChild
${Else}
nsisXML::getText
StrCpy $9 $3
${EndIf}
DetailPrint "Old value: $9"
System::Call 'kernel32::GetTickCount()i.r5' ;Get some "random" value to save
nsisXML::setText "$5"
nsisXML::release $2
nsisXML::save "${XMLFILE}"
nsisXML::release $0
DetailPrint "Saved new value: $5"
SectionEnd
在优先次运行我得到:Old value: Did not exist
Saved new value: 709289703
Completed
并在第二次运行我得到:Old value: 709289703
Saved new value: 709308687
Completed
2. 如何使用Python3读写INI配置文件
import configparser
# 生成config对象
conf =configparser.ConfigParser()
# 用config对象读取配置文件
conf.read("xxx.ini")
#从ini配置文件中获取信息
a=conf.get("xx","yy")
print(a) 结果为: zz
xxx.ini
[xx]
yy=zz
3. 易语言配置项读取怎么写
读配置项 命令 英文命令:GetKeyText操作系统支持:Windows
所属类别:系统处理
读取指定配置文件中指定项目的文本内容。
语法:
文本型
读配置项
(配置文件名,节名称,配置项名称,[默认文本])
参数名
描
述
配置文件名
必需的;文本型。指定配置文件的名称,通常以.ini作为文件名后缀。
节名称
必需的;文本型。包含欲读入配置项所处节的名称。
配置项名称
必需的;文本型。参数值指定欲读入配置项在其节中的名称。
默认文本
可选的;文本型。如果指定配置项不存在,将返回此默认文本。如果指定配置项不存在且本参数被省略,将返回空文本。
写配置项 命令 英文命令:SetKeyText操作系统支持:Windows
所属类别:系统处理
将指定文本内容写入指定配置项中或者删除指定的配置项或节,如果指定配置文件不存在,将会自动创建。成功返回真,失败返回假。
语法:
逻辑型
写配置项
(配置文件名,节名称,[配置项名称],[欲写入值])
参数名
描
述
配置文件名
必需的;文本型。指定配置文件的名称,通常以.ini作为文件名后缀。
节名称
必需的;文本型。包含欲写入配置项所处节的名称。
配置项名称
可选的;文本型。参数值指定欲写入配置项在其节中的名称。如果参数值被省略,则删除指定节及其下的所有配置项。
欲写入值
可选的;文本型。参数值指定欲写入到指定配置项中的文本。如果参数值被省略,则删除所指定配置项。
4. 用C#如何读写配置文件
INI文件就是扩展名为"ini"的文件。x0dx0a其一般形式如下:x0dx0a[section1] // 配置节x0dx0a//键名 //键值x0dx0akeyword1 = valuelx0dx0akeyword2 = value2x0dx0a??x0dx0a[section2]x0dx0akeyword3 = value3x0dx0akeyword4 = value4x0dx0a在Windows系统中,INI文件是很多,最重要的就是"System.ini"、"System32.ini"和"Win.ini"。该文件主要存放用户所做的选择以及系统的各种参数。用户可以通过修改INI文件,来改变应用程序和系统的很多配置。但自从Windows 95的退出,在Windows系统中引入了注册表的概念,INI文件在Windows系统的地位就开始不断下滑,这是因为注册表的独特优点,使应用程序和系统都把许多参数和初始化信息放进了注册表中。以及XML文件的国际标准化给INI文件又一次打击。x0dx0a但在某些场合,INI文件还拥有其不可替代的地位。比如绿色软件的规定就是不向注册表和系统中填入新东西。对于软件需要储存的信息就需要存入到文件中了。XML虽然兼容性比较好,但对于仅仅保存几个自定义参数而言就显得大材小用了。这是就可以选择使用快速简单的储存方式:INI文件。x0dx0a本文就来探讨一下C#是如何对INI进行读写操作。x0dx0a主要思路是调用Win32 API。x0dx0a1.引入命名空间x0dx0ausingSystem.Runtime.InteropServices;x0dx0a2.声明(把一个Win32 API函数转成C#函数)x0dx0a//声明INI文件的写操作函数 WritePrivateProfileString()x0dx0a[DllImport("kernel32")]x0dx0aprivate static extern longWritePrivateProfileString(string section, string key, string val, stringfilePath);x0dx0a//声明INI文件的读操作函数 GetPrivateProfileString()x0dx0a[DllImport("kernel32")]x0dx0aprivate static extern intGetPrivateProfileString(string section, string key, string def, StringBuilderretVal, int size, string filePath);x0dx0a3.函数x0dx0apublic void Writue(string section,string key, string value)x0dx0a{x0dx0a// section=配置节,key=键名,value=键值,path=路径(section,key, value, sPath);x0dx0a}x0dx0apublic string ReadValue(stringsection, string key)x0dx0a{x0dx0a// 每次从ini中读取多少字节x0dx0aSystem.Text.StringBuilder temp =new System.Text.StringBuilder(255);x0dx0a// section=配置节,key=键名,temp=上面,path=路径x0dx0aGetPrivateProfileString(section,key, "", temp, 255, sPath);x0dx0areturntemp.ToString(); //注意类型的转换x0dx0a}x0dx0a到此基本功能已经实现了。下面我们将所有的代码重新整合一下:x0dx0anamespace Library.Filex0dx0a{x0dx0apublic class Inix0dx0a{x0dx0a// 声明INI文件的写操作函数 WritePrivateProfileString()x0dx0a[System.Runtime.InteropServices.DllImport("kernel32")]x0dx0aprivate static extern longWritePrivateProfileString(string section, string key, string val, stringfilePath);x0dx0a// 声明INI文件的读操作函数 GetPrivateProfileString()x0dx0a[System.Runtime.InteropServices.DllImport("kernel32")]x0dx0aprivate static extern intGetPrivateProfileString(string section, string key, string def,System.Text.StringBuilder retVal, int size, string filePath);x0dx0aprivate string sPath = null;x0dx0apublic Ini(string path)x0dx0a{x0dx0athis.sPath = path;x0dx0a}x0dx0apublic void Writue(string section,string key, string value)x0dx0a{x0dx0a// section=配置节,key=键名,value=键值,path=路径(section,key, value, sPath);x0dx0a}x0dx0apublic string ReadValue(stringsection, string key)x0dx0a{x0dx0a// 每次从ini中读取多少字节x0dx0aSystem.Text.StringBuilder temp =new System.Text.StringBuilder(255);x0dx0a// section=配置节,key=键名,temp=上面,path=路径x0dx0aGetPrivateProfileString(section,key, "", temp, 255, sPath);x0dx0areturn temp.ToString();x0dx0a}x0dx0a}x0dx0a}x0dx0a开始调用函数。x0dx0a// 写入inix0dx0aIni ini = newIni("C:/config.ini");x0dx0aini.Writue("Setting","key1", "HELLO WORLD!");x0dx0aini.Writue("Setting","key2", "HELLO CHINA!");x0dx0a// 读取inix0dx0aIni ini = newIni("C:/config.ini");x0dx0astring str1 =ini.ReadValue("Setting", "key1");x0dx0aMessageBox.Show(str1);x0dx0a二,在一些小的应用中,有时候不需要使用数据困这样大规模的数据管理工具,也很少进行数据的查询、修改等操作,而仅用文件来存储数据。这时就需要使用。net中的文件操作对象,如file、streamReader、streamWriter等。x0dx0a1,使用File对象操作文件x0dx0aSystem.IO.File类提供了一系类的静态办法,完成对晚间的常用操作,如新建、删除、拷贝、移动等x0dx0a2,使用StreamWriter写入文件x0dx0a在System.IO空间中定义了一个文件写入器对象StreamWriter,使用它可以以一种特定的编码向输出流中(Stream)写入字符。x0dx0a3,使用SteamReader读取文件x0dx0a与streamWrite对应
5. 如何使用Python3读写INI配置文件
ini文件简介
ini是我们常见到的配置文件格式之一。
ini是微软Windows操作系统中的文件扩展名(也常用在其他系统)。
INI是英文“初始化(Initial)”的缩写。正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参数设置。
网络
通过它,可以将经常需要改变的参数保存起来(而且还可读),使程序更加的灵活。
我先给出一个ini文件的示例。
[School]
ip = 10.15.40.123
mask = 255.255.255.0
gateway = 10.15.40.1
dns = 211.82.96.1
[Match]
ip = 172.17.29.120
mask = 255.255.255.0
gateway = 172.17.29.1
dns = 0.0.0.0
这个配置文件中保存的是不同场合下的IP设置参数。
下面将以生成和读取这个配置文件为例,进行讲解。
Python(v3)读取方法
首先,Python读取ini配置需要用到ConfigParser包,所以要先加载它。
import configparser
之后我们需要载入配置文件。
config=configparser.ConfigParser()
#IpConfig.ini可以是一个不存在的文件,意味着准备新建配置文件。
config.read("IpConfig.ini")
接下来,我们可以使用configparser.add_section()向配置文件中添加一个Section。
#添加节School
config.add_section("School")
注意:如果文件中已经存在相应的项目,则不能再增加同名的节。
然后可以使用configparser.set()在节School中增加新的参数。
#添加新的IP地址参数
config.set("School","IP","192.168.1.120")
config.set("School","Mask","255.255.255.0")
config.set("School","Gateway","192.168.1.1")
config.set("School","DNS","211.82.96.1")
你可以以同样的方式增加其它几项。
#由于ini文件中可能有同名项,所以做了异常处理
try:
config.add_section("Match")
config.set("Match","IP","172.17.29.120")
config.set("Match","Mask","255.255.255.0")
config.set("Match","Gateway","172.17.29.1")
config.set("Match","DNS","0.0.0.0")
except configparser.DuplicateSectionError:
print("Section 'Match' already exists")
增加完所有需要的项目后,要记得使用configparser.write()进行写入操作。
config.write(open("IpConfig.ini", "w"))
以上就是写入配置文件的过程。
接下来我们使用configparser.get()读取刚才写入配置文件中的参数。读取之前要记得读取ini文件。
ip=config.get("School","IP")
mask=config.get("School","mask")
gateway=config.get("School","Gateway")
dns=config.get("School","DNS")
print((ip,mask+"\n"+gateway,dns))
完整示例
下面是一个完整的示例程序,他将生成一个IpConfig.ini的配置文件,再读取文件中的数据,输出到屏幕上。
# -*- coding: utf-8 -*-
import configparser
#读取配置文件
config=configparser.ConfigParser()
config.read("IpConfig.ini")
#写入宿舍配置文件
try:
config.add_section("School")
config.set("School","IP","10.15.40.123")
config.set("School","Mask","255.255.255.0")
config.set("School","Gateway","10.15.40.1")
config.set("School","DNS","211.82.96.1")
except configparser.DuplicateSectionError:
print("Section 'School' already exists")
#写入比赛配置文件
try:
config.add_section("Match")
config.set("Match","IP","172.17.29.120")
config.set("Match","Mask","255.255.255.0")
config.set("Match","Gateway","172.17.29.1")
config.set("Match","DNS","0.0.0.0")
except configparser.DuplicateSectionError:
print("Section 'Match' already exists")
#写入配置文件
config.write(open("IpConfig.ini", "w"))
ip=config.get("School","IP")
mask=config.get("School","mask")
gateway=config.get("School","Gateway")
dns=config.get("School","DNS")
print((ip,mask+"\n"+gateway,dns))
总结
Python读取ini文件还是十分简单的,这里我给出的只是一些简单的使用方法,如果想用更高级的功能,比如和注释有关的功能。可以参考Pyhton官方文档
6. 易语言如何读写配置文件,
我不要分帮你,采纳让我采纳率提高,谢谢!
写个 例子给你
.版本 2
.程序集 窗口程序集1
.程序集变量 程序集变量_x, 文本型
.程序集变量 程序集变量_y, 文本型
.程序集变量 程序集变量_Word, 文本型
.子程序 _按钮1_被单击
' 比如个按钮写配置项 或 你自定义其他方式去写
写配置项 (取运行目录 () + “\system.ini”, “Coordinates”, “x”, “100”)
写配置项 (取运行目录 () + “\system.ini”, “Coordinates”, “y”, “100”)
写配置项 (取运行目录 () + “\system.ini”, “Text”, “Word”, “字”)
.子程序 __启动窗口_创建完毕
程序集变量_x = 读配置项 (取运行目录 () + “\system.ini”, “Coordinates”, “x”, )
程序集变量_y = 读配置项 (取运行目录 () + “\system.ini”, “Coordinates”, “y”, )
程序集变量_Word = 读配置项 (取运行目录 () + “\system.ini”, “Text”, “Word”, )
' 然后把程序集变量or 全局变量 赋值到你的子程序变量中
子程序1 ()
.子程序 子程序1
.局部变量 横坐标存, 整数型
.局部变量 横坐标, 整数型
.局部变量 纵坐标, 整数型
.局部变量 字, 文本型
.局部变量 字存, 文本型
.局部变量 纵坐标存, 整数型
' 例如
横坐标 = 到整数 (程序集变量_x)
纵坐标 = 到整数 (程序集变量_y)
字 = 程序集变量_Word