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

相关推荐
Sinclair17 小时前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Rockbean2 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
茶杯梦轩2 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
海天鹰2 天前
【免费】PHP主机=域名+解析+主机
服务器
不是二师兄的八戒3 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
芝士雪豹只抽瑞克五3 天前
Nginx 高性能Web服务器笔记
服务器·nginx
失重外太空啦3 天前
Tomcat
java·服务器·tomcat
Henry Zhu1233 天前
数据库:并发控制基本概念
服务器·数据库
茶杯梦轩3 天前
从零起步学习并发编程 || 第九章:Future 类详解及CompletableFuture 类在项目实战中的应用
服务器·后端·面试
ZeroNews内网穿透3 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全