INI 文件是一种用于配置应用程序的文本文件格式。其名称 “INI” 取自 “Initialization” 的简称,因为这种文件常用于应用程序的初始化设置。INI 文件广泛用于 Windows 应用程序,但也能在其他平台和工具中见到。
INI 文件的结构
INI 文件通常由节(sections)、键(keys)和值(values)组成。一个典型的 INI 文件结构示例如下:
; 这是一个注释
[Section1]
key1=value1
key2=value2
[Section2]
key1=value3
key2=value4
注释:
注释以分号 (😉 或井号 (#) 开头,整个行被视为注释内容。
节(sections):
节名用方括号括起来,如 [Section1]。
节名可以包含任何字符,方括号除外。
节是可选的,但常用来组织键值对。
键和值(keys and values):
每行以 key=value 或 key:value 形式表示。
键和值之间可以有空格,但空格通常会被忽略。
值可以包含任何字符,包括空格。
读取和写入 INI 文件
Python 提供了 configparser 模块来方便地读取和写入 INI 文件。以下是一个简单示例:
读取 INI 文件
首先,假设我们有一个名为 config.ini 的 INI 文件:
[General]
app_name=MyApp
version=1.0
[User]
name=John Doe
email=john@example.com
我们可以使用 configparser 模块来读取这个文件:
import configparser
# 创建一个 ConfigParser 对象
config = configparser.ConfigParser()
# 读取 INI 文件
config.read('config.ini')
# 读取节和键
app_name = config['General']['app_name']
version = config['General']['version']
user_name = config['User']['name']
user_email = config['User']['email']
print(f"App Name: {app_name}")
print(f"Version: {version}")
print(f"User Name: {user_name}")
print(f"User Email: {user_email}")
写入 INI 文件
你也可以使用 configparser 写入或修改 INI 文件:
import configparser
# 创建一个 ConfigParser 对象
config = configparser.ConfigParser()
# 添加节和键值对
config['General'] = {
'app_name': 'MyApp',
'version': '1.0'
}
config['User'] = {
'name': 'Jane Doe',
'email': 'jane@example.com'
}
# 写入 INI 文件
with open('config.ini', 'w') as configfile:
config.write(configfile)
使用场景
- 应用程序配置:INI 文件常用于存储应用程序的配置信息,如数据库连接设置、用户首选项等。
- 初始化设置:在应用程序启动时,INI 文件可以提供初始化参数。
- 跨平台兼容性:虽然 INI 文件在 Windows 平台上更为常见,但它的简单格式使得它在其他平台上也被广泛使用。
优点和缺点
优点:
人类可读且易于编辑。
结构简单,易于解析。
广泛支持,工具和库丰富。
缺点:
不适合存储层次结构复杂的数据。
缺乏数据验证和类型支持(所有的数据都是字符串)。
在大型应用中可能不如其他格式(如 JSON,YAML)灵活和强大。
总的来说,INI 文件格式是一种适用于简单配置和初始化设置的有用工具。如果你需要更多的复杂性或数据验证,可能需要考虑使用 JSON、YAML 等其他格式。