【问题标题】:Validating Configs according to specified rules根据指定规则验证配置
【发布时间】:2016-03-13 04:19:25
【问题描述】:

所以我有一些配置文件 (JSON) 需要与我的项目一起部署。我想将它们设置在一个 python 包中,在构建时会检查一些基本的验证规则(用 python 编写)

如果globalConfig.json 包含{"rulesToUse":["rule1","rule2"]},那么 如果ruleSets.json必须包含{"rule1":"<somerule>", "rule2":"<otherrule"}

解决此问题的最佳方法是什么?如果我在与我的“setup.py”文件相同的级别创建一个常规validation_cfg.py 文件,并在import validation_cfg; validation_cfg.validate() 中查找配置(在预先指定的位置)并运行我的验证逻辑。这甚至会起作用吗?在这种情况下,最佳做法是什么?

【问题讨论】:

  • 这是一个非常笼统的问题——答案有很多——一些项目使用可执行的python脚本进行配置;有些坚持使用 ini 或 json 文件;基本上代码和配置之间的界限经常是模糊的。我最喜欢的——尝试编写你的应用程序,让它在没有配置的情况下启动(使用合理的默认值),并且只有用户的更改被保存为“配置”。

标签: python json validation configuration build


【解决方案1】:

JSON 有自己的模式验证语言(在 JSON 中指定)。 Google 搜索“json schema validator python”的结果表明存在 JSON 模式验证语言的 Python 实现。

JSON 模式验证语言是否足以满足您的需求?还是有令人信服的理由让您发明自己的模式验证语言?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    相关资源
    最近更新 更多