INI Cheatsheet - INI Configuration Reference
把 INI 配置文件最常用的语法整理成速查,写配置时对照查。
Back to Config Formats基础语法 7
; 这是注释分号注释(最通用)
# 这也是注释井号注释(部分解析器支持)
[section]节(section)定义
key = value键值对(等号两边空格可选)
key = "quoted value"带引号的值
key =空值
; key = commented out注释掉键值对
数据类型 7
string = hello字符串
integer = 42整数
float = 3.14浮点数
boolean = true布尔值(true/false/yes/no/on/off)
array = value1,value2,value3数组(逗号分隔)
hex = 0xFF十六进制(部分解析器支持)
percent = 50%百分比值
常见应用 5
[database]\nhost = localhost\nport = 3306数据库配置
[server]\nlisten = 8080\nmax_connections = 100服务器配置
[logging]\nlevel = info\nfile = /var/log/app.log日志配置
[user]\nname = Alice\nemail = alice@example.com用户配置
[cache]\ndriver = redis\nttl = 3600缓存配置
PHP php.ini 示例 9
[PHP]\nmemory_limit = 256M内存限制
upload_max_filesize = 20M上传文件大小
post_max_size = 25MPOST 数据大小
max_execution_time = 30最大执行时间(秒)
display_errors = On显示错误
error_reporting = E_ALL错误报告级别
date.timezone = Asia/Shanghai时区设置
session.save_path = /tmpSession 存储路径
session.gc_maxlifetime = 1440Session 最大生存时间(秒)
Git 配置示例 7
[user]\nname = Your Name\nemail = you@example.com用户信息
[core]\neditor = vim\nautocrlf = input核心配置
[alias]\nco = checkout\nbr = branch\nlg = log --oneline --graph命令别名
[remote "origin"]\nurl = https://github.com/user/repo.git远程仓库
[diff]\ntool = vimdiffdiff 工具配置
[merge]\ntool = vimdiff\nconflictstyle = diff3merge 工具配置
[pull]\nrebase = truepull 时使用 rebase
Windows INI 示例 5
path = C:\\Program Files\\AppWindows 路径(反斜杠转义)
[Environment]\nPATH = %PATH%;C:\\bin环境变量(引用系统变量)
temp = %TEMP%\\app使用系统环境变量拼接路径
app_dir = ${APPDIR}变量引用语法(部分解析器支持)
key = value ; trailing comment行尾注释(部分解析器支持)
Python configparser 6
config.read("config.ini")读取 INI 文件
config.write(open("config.ini", "w"))写入 INI 文件
config["section"]["key"]读取某个键的值
config["section"]["key"] = "value"设置键值对
config["DEFAULT"]["key"]默认值(所有节继承)
config.getint("section", "port")按类型读取(getint/getfloat/getboolean)
解析注意事项 6
; vs #注释符号差异:分号通用,井号看解析器
key="value" vs key = value引号差异:有的保留引号,有的去除
[[nested]]标准 INI 不支持嵌套节(非标准扩展)
BOM: \xEF\xBB\xBFUTF-8 BOM 可能导致首个节解析失败
key = ; not a comment值中的分号通常不视为注释
duplicate keys重复键行为不明确(后者覆盖前者或报错)
💡 Tips
- INI 语法简单,但不支持嵌套结构,复杂配置建议用 YAML 或 TOML。
- 不同解析器对注释符号支持不同,分号(;)最通用。
- 键值对的等号两边可以有空格,解析器会自动去除。
- Windows 路径中的反斜杠需注意转义,建议用正斜杠或双反斜杠。
- Python configparser 不支持默认值的变量插值,需用 ExtendedInterpolation。
- INI 文件编码建议统一使用 UTF-8 无 BOM,避免解析首节失败。