Python学习
一、学前花絮
我们之前学习了python对于XML文件的处理,并与Json文件进行了对比。虽然 XML 和 JSON 也能做配置(比如 web.xml 或 package.json),但专门的配置格式(Config Formats)在语法简洁性和开发者体验上通常更好。
专门的配置格式(如 INI, TOML, YAML)是为“人类编写和阅读”优化的,而 XML/JSON 是为“机器解析和数据交换”优化的。
l语法更简洁(Less Ceremony)
JSON/XML:需要写大量的括号 {}、方括号 [] 或闭合标签 ,这些对机器友好,但对人眼是一种视觉噪音。
Config:通常采用简单的 键 = 值 形式,或者极简的缩进语法,写起来更快,看起来更清爽。
l原生支持注释(Comments)
JSON:标准不支持注释(虽然有些解析器支持 //,但这不标准)。
XML/Config:都原生支持注释(如 或 #),这对于配置文件非常重要,因为我们需要在文件里写清楚“为什么要这样配置”。
l数据类型推断
XML:全是字符串,数字和布尔值需要自己转换。
Config:现代配置格式(如 TOML/YAML)能自动识别数字、布尔值、日期等。
二、Python生成与解析配置文件
2.1 程序设计
将不同格式的配置文件处理封装成一个类,可以让我们在项目中通过切换参数或方法来灵活使用不同的配置格式。
我们需要先安装 toml 和 pyyaml 库(因为 JSON 和 INI 是 Python 标准库自带的,而 TOML 和 YAML 需要额外安装)。
请在终端运行以下命令安装依赖:
2.2 程序示例
程序的主体机构包括模块的导入、类的封装(把所有的配置文件都定义成方法)、主程序调用等。

类的内部是这样的:

我们可以看到,四种配置文件都包括生成和解析两个函数(在类内称为方法)。
Init方法(初始化数据):

INI文件的处理:

Json文件的处理:

Toml文件的处理:

Yaml文件的处理:

主程序运行:

2.3 输出结果

Config.toml:

Config.ini:

Config.json:

Config.yaml:

2.4总结:这么多的配置,你应该选哪个?
下面的表格比较了这几种配置文件的特点,供你选择:

如果是自己写脚本或者小工具,用 TOML 是目前最完美的选择(比如 Python 的 pyproject.toml 就是趋势)。它既有配置文件的易读性,又没有 XML 那么啰嗦,比 YAML 更不容易因为格式报错。
三、小结
通过学习python对于配置文件的处理,我们掌握了如何生成和解析各种配置文件。有了配置文件,本质上是为了给我们的程序解耦。什么叫解耦?比如我们常用的用户名、口令,如果都写在程序里面,当变化之后,我们需要改动程序。而如果把这些信息放入配置文件,我们只需要编辑文件即可。
让我们保持学习热情,多做练习。我们下期再见!