这两天工作中,遇到了重复性验证表单和任务队列数据格式的问题,然后晚上用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… …
