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

相关推荐
杨靳言先1 小时前
✨【运维实战】内网服务器无法联网?巧用 SSH 隧道实现反向代理访问公网资源 (Docker/PortForwarding)
服务器·docker·ssh
小镇学者4 小时前
【python】python项目是如何部署到服务器上的
服务器·python·github
2501_945837434 小时前
事件驱动无服务器,Knative重塑原子化运算
服务器
yaoxin5211234 小时前
296. Java Stream API - 二元操作符与“单位元“
java·服务器·windows
JoyCong19988 小时前
高效远程协作指南:基于ToDesk的六大应用场景详解
运维·服务器·远程工作·远程操作
wniuniu_8 小时前
增加依据。。
服务器·网络·数据库
筱谙10 小时前
BES BLE低功耗蓝牙技术实现分析
服务器·网络·网络协议
RisunJan10 小时前
Linux命令-last(查看用户登录历史)
linux·服务器·网络
2301_7807896610 小时前
2025年UDP洪水攻击防护实战全解析:从T级流量清洗到AI智能防御
服务器·网络·人工智能·网络协议·安全·web安全·udp
不爱吃糖的程序媛10 小时前
OpenHarmony仓颉文档:全场景应用开发指南
运维·服务器