使用python装饰器验证配置文件示例


Posted in Python onFebruary 24, 2014

根据不同配置文件调用不同的验证函数检查输入。可以根据需求更改验证函数的逻辑。

def VerifyData(func):
    def VerifyInt(data):
        assert(int(data) > 0)
    def VerifyString(data):
        assert(len(data) > 10)
    def inner(*args, **kvargs):
        print args
        print kvargs
        assert(len(args) > 1)
        if args[1] == "int.txt":
            VerifyInt(args[0])
        elif args[1] == "string.txt":
            VerifyString(args[0])
        func(*args, **kvargs)
    return inner
@VerifyData
def WriteData(text, filepath):
    print "WriteData"
    print text
    print filepath
WriteData("1234567890", "int.txt")
Python 相关文章推荐
Python tkinter模块弹出窗口及传值回到主窗口操作详解
Jul 28 Python
Python设计实现的计算器功能完整实例
Aug 18 Python
Python3多线程爬虫实例讲解代码
Jan 05 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
Feb 07 Python
详解Python 解压缩文件
Apr 09 Python
pyqt5 实现在别的窗口弹出进度条
Jun 18 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
关于多元线性回归分析——Python&SPSS
Feb 24 Python
20行Python代码实现视频字符化功能
Apr 13 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
May 26 Python
python获取百度热榜链接的实例方法
Aug 25 Python
Sentry错误日志监控使用方法解析
Nov 12 Python
python通过urllib2爬网页上种子下载示例
Feb 24 #Python
python控制台显示时钟的示例
Feb 24 #Python
python3访问sina首页中文的处理方法
Feb 24 #Python
python原始套接字编程示例分享
Feb 21 #Python
python实现360皮肤按钮控件示例
Feb 21 #Python
python实现360的字符显示界面
Feb 21 #Python
python和pyqt实现360的CLable控件
Feb 21 #Python
You might like
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
php图像处理函数大全(推荐收藏)
2013/07/11 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
YII框架批量插入数据的方法
2017/03/18 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
php微信支付之公众号支付功能
2018/05/30 PHP
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
关于img的href和src取变量及赋值的方法
2014/04/28 Javascript
配置Grunt的Task时通配符支持和动态生成文件名问题
2015/09/06 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
2015/09/30 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
jquery表单验证实例仿Toast提示效果
2017/03/03 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
使用JavaScript计算前一天和后一天的思路详解
2019/12/20 Javascript
举例详解Python中threading模块的几个常用方法
2015/06/18 Python
python创建临时文件夹的方法
2015/07/06 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
python中map的基本用法示例
2018/09/10 Python
OpenCV 模板匹配
2019/07/10 Python
django fernet fields字段加密实践详解
2019/08/12 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
Python随机数函数代码实例解析
2020/02/09 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
如何删除一个表里面的重复行
2013/07/13 面试题
软件测试常见笔试题
2012/02/04 面试题
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
社区平安建设汇报材料
2014/08/14 职场文书
2014酒店客房部工作总结
2014/12/16 职场文书
医德医风学习心得体会
2016/01/25 职场文书
MySQL索引是啥?不懂就问
2021/07/21 MySQL