这两天工作中,遇到了重复性验证表单和任务队列数据格式的问题,然后晚上用python写了个验证数据格式的模块,名字叫 validfilter 。 他除了可以验证表单外,还可以验证各种各种工的数据,dict,tunple,list 都可以递归性的验证,在github也有不少人分享了代码,但是功能比较的简单,只是验证整数、字符串,我这边扩展下可以支持到正则。
简单介绍下:
一个用来验证数据格式的模块,已经加入了正则表达式的识别,后期会加入具体某个KEY的是否需要验证的标示.
GITHUB地址: https://github.com/rfyiamcool/validfilter
PYPI地址: https://pypi.python.org/pypi/validfilter
关于python校验数据的文章,原文地址是 http://xiaorui.cc/2015/08/31/%E4%BD%BF%E7%94%A8python%E6%A0%A1%E9%AA%8C%E9%AA%8C%E8%AF%81%E8%A1%A8%E5%8D%95%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F%E5%8F%8A%E5%87%86%E7%A1%AE%E6%80%A7/
安装方法
方法1. pip install validfilter 方法2 git clone git@github.com:rfyiamcool/validfilter.git cd validfilter python setup.py install
Validfilter 数据验证过滤器,另外还支持正则表达式,使用方法:
#coding:utf-8 from validfilter import checkdata template = { 'name': 'xiaorui', 'age': '.*', 'url' : 'http://.*', 'address': '\w*', 'pets': [ { 'name': 'ying', 'kind': '.*' } ], 'parents': [{'name': '.*'}], } kid = { 'name': "fengyun from xiaorui.cc", 'age': 123, 'url' : 'http://xiaorui.cc', 'address': 'beijing', 'pets': [ { 'name': "liliying", 'kind': "nima", }, ], 'parents': [ {'name': "zhangbin"}, {'name': "liudehua"} ] } print checkdata(template, kid) Run Result python test.py xiaorui fengyun from xiaorui.cc http://.* http://xiaorui.cc .* 123 .* zhangbin .* liudehua .* nima ying liliying \w* beijing True
感谢使用,validfilter一开始是用来验证rest post api过来的表单,后来在各个分布式RPC系统中使用验证各方的数据准确性。
END… …