Python:使用 ConfigParser 与 json 文件

Python: Using ConfigParser vs json file

我目前正在使用 ConfigParser 模块来读取和解析 python 程序的配置。我知道使用 ConfigParser 可以简化从文件中解析和读取配置的过程,但是我很好奇如果我只是对 reading/writing 配置文件使用 json 格式会有什么权衡。那不是和 ConfigParser 一样容易解析吗?

JSON 对您的程序来说很容易解析,但它也会给用户带来负担,让他们承担正确获取大括号和引号的责任,并且会给您的配置文件增加不必要的混乱。如果你不介意这种额外的复杂性,或者如果你真的需要那种在 JSON 中比在平面配置文件中更容易解析的深度嵌套,那么一定要使用 JSON。有些人甚至更进一步,将他们的配置放在 Python 文件中。

个人感觉用户可能需要阅读或编辑的配置文件应该越简单越好,所以我使用了configparser语法的(一部分)。如果我需要层次结构,我只是用点表示它:

parent.child1 = foo
parent.child2 = bar

当我想避免在我的配置文件中要求 [sections] 时,我可以改为使用 trick configparser into not needing them, or use a TOML 解析器。