- INI 文件是存储程序和应用程序设置的配置文档。
- 它们使用包含部分、键和值的简单结构来组织信息。
- 它们在软件配置、游戏定制和任务自动化中很常见。
- 它们可以使用各种编程语言(例如 Pascal、PHP 和 Python)进行读取和编写。
欢迎加入我们的INI 文件探索之旅!如果您曾经好奇 INI 文件是什么,或者如何有效地使用它们,那么您来对地方了。这些文件看似神秘莫测,但只要掌握了正确的信息,它们就能成为计算机和软件配置领域中强大的工具。在本文中,我们将深入探讨 INI 文件的定义、工作原理以及如何充分利用它们。
INI 文件:这些缩写词是什么意思?
让我们从头开始。INI文件中的INI是什么意思?这个缩写代表“初始化”(Initialization )。INI 文件是计算机领域广泛使用的配置文件,用于存储程序和应用程序的设置和配置选项。
INI 文件包含什么?
INI 文件包含允许程序和应用程序正常运行的关键信息。这些文件可以包含各种各样的数据,例如:
- 配置参数:决定程序如何行为的价值观。
- 路径:有关程序运行所需文件或资源的位置的信息。
- 用户偏好:用户选择的自定义设置。
- 接口选项:有关用户界面设计和外观的详细信息。
INI 文件的结构是怎样的?
INI 文件具有简单但有效的结构。它们通常被分为几个部分,每个部分都有自己的一组值和设置。让我们看一个基本的例子:
[Sección 1] Clave1=Valor1 Clave2=Valor2 [Sección 2] Clave3=Valor3
在这个例子中,我们有两个部分,每个部分都有自己的键和值。这种结构使得组织和搜索文件中的信息变得更加容易。
INI 文件的实际作用
现在我们对 INI 文件有了基本的了解,现在是时候探索它们在现实世界中的用途以及它们如何使您受益。
软件配置
INI 文件最常见的应用之一是软件配置。许多程序使用这些文件来存储用户偏好。您是否曾经自定义过程序的选项并想知道它们保存在哪里?答案通常是 INI 文件!
游戏定制
如果您是一名视频游戏爱好者,您可能遇到过 INI 文件。这些文件用于调整游戏设置,从图形质量到控制设置。您可以通过修改这些文件来定制您的游戏体验。
任务自动化
INI 文件在自动化任务中也很有用。程序可以读取和修改这些文件以根据编程执行特定的操作。这在企业和系统管理环境中特别有用。
网络上的 INI 文件
INI 文件不仅限于桌面应用程序。在网络上,它们用于 PHP 等技术来存储配置信息。如果您从事 Web 开发工作,了解这些文件的工作原理至关重要。
如何使用 INI 文件?
现在您知道了什么是 INI 文件以及它们在哪里使用,现在是时候学习如何使用它们了。
1. 识别相关的 INI 文件
您需要做的第一件事是找到要配置的程序或应用程序的 INI 文件。它通常位于软件安装目录中。
2.做好备份
在更改 INI 文件之前,请务必备份原始文件。如果出现问题,这将允许您恢复以前的设置。
3.打开INI文件
使用简单的文本编辑器(例如 Windows 中的记事本)打开 INI 文件。确保编辑器不会引入任何额外的格式,例如粗体或斜体。
4. 仔细编辑
对文件进行必要的更改,注意语法。 INI 文件区分大小写,因此需要准确。
5.保存更改
进行调整后,保存 INI 文件并关闭它。在执行此操作之前,请确保相关软件已关闭。
6. 测试程序
启动程序并检查更改是否生效。如果一切按预期工作,则您已成功设置 INI 文件!
其他提示
以下是充分利用 INI 文件的一些其他技巧:
- 文件:请务必查阅程序或应用程序文档以更好地了解 INI 文件中可用的选项。
- 评论:您可以在 INI 文件前面加上分号 (;) 符号来添加注释。这将帮助您记住每个设置的用途。
- 经验:不要害怕尝试 INI 文件中的设置。通过尝试不同的值并观察它们如何影响程序,你可以学到很多东西。
读写 INI 文件的示例
下面的示例使用一个常见的 INI 文件 (config.ini),如下所示:
[BaseDatos] Usuario=minombre Password=unaClave [Preferencias] Fondo=Blanco Color=Azul
1)Free Pascal 中的示例
以下是使用 Free Pascal 读取和写入 INI 文件的完整代码
program fileIni;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this }
, Sysutils, IniFiles;
const
ARCHIVO_CONFIG = 'config.ini';
var
Ini: TIniFile;
Valor: String;
begin
{ El método Create es el constructor de la clase, que recibe como parámetro
el nombre del archivo INI.}
Ini := TIniFile.Create(ARCHIVO_CONFIG);
{Para leer valores se especifica el nombre de sección y clave
en los métodos ReadString.}
// Leer valor de sección BaseDatos
Valor := Ini.ReadString('BaseDatos','Usuario','');
WriteLn('Usuario BD: ', Valor);
// Leer valor de sección Preferencias
Valor := Ini.ReadString('Preferencias','Fondo', '');
WriteLn('Color de fondo', Valor);
{Para escribir valores se indica sección y clave con WriteString
antes de guardar con UpdateFile.}
// Escribir valor en sección BaseDatos
Ini.WriteString('BaseDatos','Password','NuevaClave');
// Escribir valor en sección Preferencias
Ini.WriteString('Preferencias', 'Color', 'Verde');
Ini.UpdateFile;
Ini.Free;
end.
该代码是一个用 Pascal 编写的程序,可与 INI 文件一起进行配置。以下是对其功能的简要说明:
- 包含必要的单位:程序使用单位
Classes,SysUtils,而IniFiles,它提供处理 INI 文件和其他资源所需的功能。 - 定义一个常量
ARCHIVO_CONFIG其中包含要使用的 INI 文件的名称,在本例中为“config.ini”。 - 声明变量
Ini类型TIniFile。此变量用于与 INI 文件交互。 - 程序首先创建一个
TIniFile呼叫Ini与建造者Create,将 INI 文件的名称(“config.ini”)作为参数传递。 - 然后使用方法
ReadStringdeIni从INI文件中读取值。在这种情况下,将读取两个值:第一个来自“数据库”部分和“用户”键,第二个来自“首选项”部分和“背景”键。读取的值存储在变量中Valor并显示在控制台中。 - 然后使用方法
WriteStringdeIni将值写入INI文件。此时在“数据库”部分和“密码”键中设置了新密码,在“首选项”部分和“颜色”键中的颜色更改为“绿色”。 - 然后调用该方法
UpdateFile将对 INI 文件所做的更改保存到磁盘。 - 最后,实例内存被释放。
Ini打电话给Ini.Free.
简而言之,该程序用于在特定部分中读取和写入名为“config.ini”的INI文件中的配置值,然后保存对文件所做的更改。
2)PHP 示例
以下是使用 PHP 读取和写入 INI 文件的完整代码。在同一个脚本中包含类和用法示例,但你可以将它们分开以遵循编程最佳实践:
<?php
class ManejadorIni
{
private $filename;
private $contenido;
public function __construct($filename)
{
if (!file_exists($filename)) {
throw new Exception('El archivo no existe.');
}
$this->filename = $filename;
$this->contenido = parse_ini_file($filename, true);
if ($this->contenido === false) {
throw new Exception('No se pudo analizar el archivo INI.');
}
}
public function leer($seccion, $clave)
{
if (isset($this->contenido[$seccion]) && isset($this->contenido[$seccion][$clave])) {
return $this->contenido[$seccion][$clave];
}
return '';
}
public function escribir($seccion, $clave, $valor)
{
$this->contenido[$seccion][$clave] = $valor;
}
public function guardar()
{
$texto = "; Archivo INI generado por ManejadorIni\n";
foreach ($this->contenido as $sec => $cont) {
$texto .= "\n[$sec]\n";
foreach ($cont as $key => $val) {
$texto .= "$key=$val\n";
}
}
if (file_put_contents($this->filename, $texto) === false) {
throw new Exception('No se pudo guardar el archivo INI.');
}
}
public function __destruct()
{
$this->filename = null;
$this->contenido = null;
}
} // Aqui termina la Clase.
// Código para probar la Clase: ManejadorIni
try {
// Iniciar el manejador para un archivo INI específico
$manejador = new ManejadorIni('config.ini');
// Leer valores
$nombreUsuario = $manejador->leer('BaseDeDatos', 'usuario');
if (empty($nombreUsuario)) {
echo "No se pudo obtener el nombre de usuario desde el archivo INI.\n";
}
echo "Nombre de Usuario actual: " . $nombreUsuario . "<br>";
// Escribir valores
$manejador->escribir('BaseDeDatos', 'usuario', 'nuevoUsuario');
// Guardar cambios al archivo
$manejador->guardar();
} catch (Exception $e) {
// Manejo de excepciones
echo "Se ha encontrado un error: " . $e->getMessage();
}
?>
此 PHP 代码定义了一个名为 ManejadorIni 用于读取、修改和保存INI格式的配置文件。以下是代码的基本功能:
- 班级
ManejadorIni拥有私有财产$filename(存储 INI 文件名)和$contenido(用于存储解析后的INI文件内容)。 - 在类构造函数中
ManejadorIni,检查指定的INI文件是否存在。如果不存在,则抛出异常。然后,构造函数使用函数解析 INI 文件的内容parse_ini_file并将结果存储在属性中$contenido。如果解析函数失败,也会引发异常。 - 该类提供三种主要方法:
leer($seccion, $clave):允许您从 INI 文件中的某个部分和某个键中读取特定值。如果section和key存在,则返回value;否则返回空字符串。escribir($seccion, $clave, $valor):允许您在 INI 文件中写入或修改给定部分和键的值。此修改在内存中完成,直到调用该方法才会保存到文件中。guardar().guardar():将内存中所做的更改保存到原始 INI 文件中。浏览存储在$this->contenido并将其写回 INI 文件。
- 方法
__destruct()它负责在类实例被销毁时清理属性。 - 在类定义之外,给出了一个使用示例:
- 已创建一个实例
ManejadorIni对于‘config.ini’文件。 - “用户”键的值是从 INI 文件的“数据库”部分读取的。
- 如果值为空,则会显示错误消息。
- 'user' 的值更改为 'newUser'。
- 更改已保存到 INI 文件。
- 已创建一个实例
代码还处理异常,因此如果在读取、写入或保存 INI 文件时发生错误,则会捕获这些错误并显示适当的错误消息,而不是导致程序中止。
注意:该 PHP 脚本未使用高级 PHP 7.x 语法,因为它试图与 PHP 5.6 和 PHP 7 兼容。
3)Python 示例
下面我们展示使用 Python 读取和写入 INI 文件 config.ini 的功能:
import configparser
# Crear un objeto ConfigParser
config = configparser.ConfigParser()
# Leer el archivo INI
config.read('config.ini')
# Leer valores del archivo INI
usuario_bd = config.get('BaseDatos', 'Usuario')
password_bd = config.get('BaseDatos', 'Password')
fondo = config.get('Preferencias', 'Fondo')
color = config.get('Preferencias', 'Color')
# Mostrar los valores leídos
print('Usuario BD:', usuario_bd)
print('Password BD:', password_bd)
print('Fondo:', fondo)
print('Color:', color)
# Escribir valores en el archivo INI
config.set('BaseDatos', 'Usuario', 'nuevo_usuario')
config.set('BaseDatos', 'Password', 'NuevaClave2')
config.set('Preferencias', 'Fondo', 'Red')
config.set('Preferencias', 'Color', 'Azul')
# Guardar los cambios en el archivo INI
with open('config.ini', 'w') as configfile:
config.write(configfile)
Python 程序使用该库 configparser 读取和写入名为“config.ini”的 INI 文件。以下是对其功能的简要说明:
- 导入库
configparser处理 INI 文件。 - 创建一个对象
ConfigParser叫config. - 使用方法读取INI文件
readdeconfig. - 使用该方法读取 INI 文件中“数据库”和“首选项”部分的现有值
get。然后,将这些值显示到控制台。 - 使用该方法更新INI文件中的值
set。在这种情况下,请在“数据库”部分更改用户名和密码,并在“首选项”部分更改背景和颜色。 - 使用方法保存对 INI 文件的更改
write以及一个名为“config.ini”的输出文件。
简而言之,该程序允许您使用库读取、修改和保存 INI 文件中的值 configparser Python。
结论
INI 文件一开始可能看起来像一个谜,但只要掌握正确的信息并经过一些练习,您就会成为使用它们的专家。这些简单的配置文档在定制软件、优化游戏和自动化任务方面发挥着至关重要的作用。所以不要害怕进入 INI 文件的世界,今天就开始利用它们的潜力!
需要注意的是,还有其他类型的配置文件,称为 XML 文件,它们广泛应用于计算机领域,例如数据库、信息交换和应用程序配置。XML 是一种可扩展的标记语言,它允许以人机均可读取的格式对数据进行结构化和存储。与传统的纯文本配置文件不同,XML 格式使用标签和属性来定义文档的结构。
如果您发现本 INI 文件指南有用,请随时与其他计算机和技术爱好者分享。我们可以共同简化 INI 文件的难题,并使每个人都可以访问它们。分享知识并帮助其他人掌握这个强大的配置工具!