.ini文件格式

.ini 文件是一种 非常简单、历史悠久的配置文件格式,最早在 Windows 系统中广泛使用。它用"节(section)+ 键值对(key-value)"来组织配置。

如今在 Python、C/C++、许多软件的配置中依然非常常见。

下面是最清晰的解释。


.ini 文件是什么?

一种键值对为基础的配置格式,由以下部分组成:

  1. 节(section)
  2. 键值对(key=value)
  3. 注释(; 或 #)

示例:

ini 复制代码
; 这是注释
[database]
host = localhost
port = 5432

[auth]
username = admin
password = 123456

🧩 .ini 的结构

1. Section(节)

用方括号定义:

ini 复制代码
[database]

每个节下面可以放多项配置。


2. 键值对(key-value pairs)

ini 复制代码
host = localhost
port = 5432
  • key 左边通常只能是字符串
  • value 是字符串(不严格类型化)

3. 注释

两种写法:

ini 复制代码
; 这是注释
# 这也是注释

🆚 .ini 的特点与缺点

⭐ 优点

  • 超级简单
  • 易于阅读
  • 解析器广泛支持(Windows/Python/C++ 等)
  • 适合基本配置需求

❗ 缺点

  • 没有数据类型 :所有 value 都被当作字符串
    (不像 TOML 有真正的 int/bool/datetime)
  • 不支持嵌套结构
  • 不支持数组
  • 标准不统一(不同语言解析器略有差异)
  • 不适合复杂配置

例如 TOML 能写:

toml 复制代码
items = [1, 2, 3]

INI 做不到,只能写:

ini 复制代码
items = 1,2,3

解析器需要自己拆。


🧰 Python 中如何读取 .ini

Python 自带的 configparser 模块支持:

python 复制代码
import configparser

config = configparser.ConfigParser()
config.read("config.ini")

print(config["database"]["host"])

🔍 .ini.toml.yaml 的对比

格式 难度 功能 类型支持 推荐情况
INI 最简单 很基础 全部字符串 小项目、简单配置
TOML 简单 适中 ✔ 强类型 Python/Rust 推荐
YAML 中等 强大 ✔ 强类型 复杂配置(K8s)
JSON 中等 基本 ✔ 强类型 API 数据结构

Python 选择 TOML 作为新标准就是因为:

  • 比 INI 强得多
  • 比 YAML 安全可靠
  • 比 JSON 更好写配置

相关推荐
再睡一夏就好35 分钟前
多线程并发编程核心:互斥与同步的深度解析及生产者消费者模型两种实现
linux·运维·服务器·jvm·c++·笔记
llilian_161 小时前
时间基准的行业赋能者——北斗卫星授时同步统一设备应用解析 时统 授时同步设备
服务器·网络·单片机
码农胖虎-java1 小时前
技术深析:Delayed ACK与Nagle算法的“相爱相杀”
运维·服务器·网络
Tipriest_2 小时前
linux中的文本分接流tee命令介绍
linux·服务器·数据库
爱喝水的鱼丶2 小时前
SAP-ABAP:在SAP世界里与特殊字符“斗智斗勇”:一份来自实战的避坑指南
运维·服务器·数据库·学习·sap·abap·特殊字符
磊 子2 小时前
第四章:网络层
运维·服务器·网络·计算机网络·运输层
Xの哲學3 小时前
Linux CFS 调度器深度解析
linux·服务器·算法·架构·边缘计算
冬夜戏雪3 小时前
【学习日记】【12.30】【14/60】
服务器·网络·学习
@时间旅行者@4 小时前
LINUX离线安装postgres,rpm方式安装
linux·运维·服务器·postgresql·离线安装
杨云龙UP4 小时前
SQL Server 2016通过SSMS(SQL Server Management Studio)图形界面完成创建用户和授权_20251230
运维·服务器·数据库