.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 更好写配置

相关推荐
虎头金猫17 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
-梅20 小时前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog20 小时前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发
琥珀色糖21 小时前
SimlpeHttp
linux·服务器
第十人i21 小时前
Linux 日志管理系统:journald 配置与优化
linux·服务器
ITxiaobing20231 天前
IP 定位服务选型指南:从准确率到工程落地的技术考察
linux·服务器·网络
wuyk5551 天前
【Socket 进阶之路】第 9 章 Linux 网络服务量产稳定性优化|心跳保活、TIME_WAIT、SO_LINGER、内存池、断线重连、完整异常防护框架
linux·服务器·开发语言·网络·物联网
Julien20041 天前
Docker 容器存储原理(一)
linux·运维·服务器·ssh·学习方法
筝筝ba1 天前
GUI 测试之只读用户恢复BMC出厂设置
服务器
Wang's Blog1 天前
Java 项目实战: 外卖平台-新增菜品DishDto双表插入与事务控制
服务器·项目开发