一个用于简单结构验证的库

trivval的Python项目详细描述


琐碎的验证-当不需要JSON模式的全部功能时

这个库提供了一种简单的方法来验证字典 类似于模式的东西-描述所需数据的字典 例行公事。在

主要的入口点是validate()函数,但是 validate_*()函数可以通过适当的 论据。在

用于验证的架构是字典(顶级对象必须 做一本字典)。目前,这些键可能只是字符串。 字典的一个特殊情况是带有一个单键*表示 将接受密钥。否则,所有名称不以开头的键 ?字符是必需的,任何名称以开头的键 ?字符是可选的。在

字典值可以是:

  • Python类型,表示值必须是其实例
  • 表示值必须是具有 所有元素通过与字典值相同的规则进行验证 (即Python类型、单个元素列表、集合或 字典)
  • 表示值必须完全等于 集合元素,即允许值的枚举
  • 具有与上述相同语义的词典

例如,以下模式:

{
    "name": str,
    "id": int,
    "address": [str],
    "preferences": {
        "meal": set(("breakfast", "lunch", "brunch")),
        "colors": [{
            "name": str,
            "intensity": set(["dark", "light"])
        }]
    },
    "possessions": {
        "*": int
    }
}

…可用于验证以下字典:

^{pr2}$

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将视图从constraint layouts类外部膨胀为约束布局   java如何使用testng参数化selenium中的用户数据并将其馈送到脚本   安卓 Java正则表达式在两个字符串之间提取字符串   java使用继承类的生成生成器,而生成器本身不继承   java匹配两个相同字符之间的字符串   java在ArrayList中添加项的值   主方法完成后的java Swing计时器持久性   使用Android应用程序的Java/Tomcat服务器中的Windows身份验证   java多态性银行应用程序   java如何添加拉丁文5字符?   java如果没有浏览器,我如何以编程方式触发google analytics事件?   如果存在零,则java向左移动   java大数幂法   java试图将XML文件中的ID读入不同的列表?