gpt4 book ai didi

python - ConfigObj/ConfigParser 与为 Python 设置文件使用 YAML

转载 作者:IT老高 更新时间:2023-10-28 20:41:19 26 4
gpt4 key购买 nike

为 Python 程序创 build 置文件,内置模块(ConfigParser)或独立项目(ConfigObj),或使用 YAML 数据序列化格式,哪个更好?我听说 ConfigObj 比 ConfigParser 更容易使用,尽管它不是内置库。我还读到 PyYAML 很容易使用,尽管 YAML 需要一些时间来使用。除了易于实现之外,哪个是创 build 置/配置文件的最佳选择?

最佳答案

这取决于您想在配置文件中存储什么以及如何使用它们

  • 如果您进行往返 (yaml→code→yaml) 并希望保留注释,则不能使用 PyYAMLConfigParser

  • 如果您想保留 key 的顺序(例如,当您 checkin 配置文件时),PyYAML 不会这样做,除非您指定 !!omap(这使得更新比普通映射更容易)

  • 如果您想要具有包含映射/字典的未命名元素列表的复杂结构,那么 ConfigParserConfigObj 将无法帮助您作为 INI 文件键值对必须进入部分,列表只能是值。

ruamel.yaml YAML 阅读器的实现支持上述所有 ¹。很长一段时间以来,我一直使用fuzzyman 出色的ConfigObj 来保存往返评论,以及使用PyYAML 来处理更复杂的结构,这结合了两全其美。 ruamel.yaml 包含 yaml 实用程序,可以将 ConfigObj INI 文件转换为 YAML


¹ ruamel.yaml 是一个支持 YAML 1.2 的 YAML 库(我建议使用它,但我是该包的作者)。 PyYAML 仅支持(大部分)YAML 1.1。

关于python - ConfigObj/ConfigParser 与为 Python 设置文件使用 YAML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3444436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com