使用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运算π的值深入Python中科学计算的实现
Apr 17 Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
python实现简单购物商城
May 21 Python
Python生成随机密码的方法
Jun 16 Python
pandas去除重复列的实现方法
Jan 29 Python
代码实例讲解python3的编码问题
Jul 08 Python
Django处理Ajax发送的Get请求代码详解
Jul 29 Python
使用OpenCV实现仿射变换—缩放功能
Aug 29 Python
tensorflow实现在函数中用tf.Print输出中间值
Jan 21 Python
pycharm实现在子类中添加一个父类没有的属性
Mar 12 Python
Python闭包与装饰器原理及实例解析
Apr 30 Python
浅谈Python程序的错误:变量未定义
Jun 02 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
国王的咖啡这么大来头,名字的由来是什么
2021/03/03 咖啡文化
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
PHP邮件发送类PHPMailer用法实例详解
2014/09/22 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
2016/04/11 PHP
简单理解PHP的面向对象编程方式
2016/05/17 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
2017/07/09 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
Array.prototype 的泛型应用分析
2010/04/30 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
ReactJs快速入门教程(精华版)
2016/11/28 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
vue+webpack模拟后台数据的示例代码
2018/07/26 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
2019/04/28 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
浅谈vuex中store的命名空间
2019/11/08 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
JavaScript实现密码强度实时验证
2020/03/18 Javascript
Python温度转换实例分析
2018/01/17 Python
python版DDOS攻击脚本
2019/06/12 Python
python pandas生成时间列表
2019/06/29 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
size?荷兰官方网站:英国高级运动鞋精品店
2020/07/24 全球购物
strstr()的简单实现
2013/09/26 面试题
信访维稳工作汇报
2014/10/27 职场文书
外贸采购员岗位职责
2015/04/03 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书