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

相关推荐
瑞克-桑切斯3 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
vibecode5 小时前
网站服务器失去响应怎么解决?我把连接超时和读超时这两段计时拆开跑了一遍
运维·服务器
迪康Defender7 小时前
终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践
运维·服务器·网络·安全·web安全·自动化·运维开发
沫璃染墨7 小时前
从零入门计算机网络系列(十二):HTTP长连接与会话管理详解——从Connection到Cookie与Session
linux·服务器·c++·tcp/ip·ubuntu·http·交互
衍玊10 小时前
深入剖析 TCP/IP 网络通信原理与内核实现
服务器·网络·tcp/ip
echoarts10 小时前
服务器连不上?FileZilla 改被动模式就好了
运维·服务器·其他
QXWZ_IA11 小时前
变电站数字孪生巡检的能力分层、数据接入与空间计算边界
运维·服务器·空间计算
小天源12 小时前
智叟云集系统 · 架构与职责分层
服务器·前端·数据库
herinspace13 小时前
管家婆实用贴-SQL 2008如何修改成混合模式
服务器·数据库·sql·管家婆软件·财务软件·合肥管家婆软件
克里斯蒂亚诺更新13 小时前
一个服务器访问另外一个服务器端口页面
运维·服务器