使用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线程、进程和协程详解
Jul 19 Python
Python常用库推荐
Dec 04 Python
Python 自动化表单提交实例代码
Jun 08 Python
Python中函数及默认参数的定义与调用操作实例分析
Jul 25 Python
python人民币小写转大写辅助工具
Jun 20 Python
opencv python 图像去噪的实现方法
Aug 31 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
Dec 15 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 Python
PyQtGraph在pyqt中的应用及安装过程
Aug 04 Python
Python Tkinter模块 GUI 可视化实例
Nov 20 Python
python手机号前7位归属地爬虫代码实例
Mar 31 Python
Python3爬虫RedisDump的安装步骤
Feb 20 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
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
javascript的回调函数应用示例
2014/02/20 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
JS实现支持多选的遍历下拉列表代码
2015/08/20 Javascript
mvc中form表单提交的三种方式(推荐)
2016/08/10 Javascript
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
H5基于iScroll实现下拉刷新和上拉加载更多
2017/07/18 Javascript
Vue中建立全局引用或者全局命令的方法
2017/08/21 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
2017/12/08 Javascript
nodejs实现OAuth2.0授权服务认证
2017/12/27 NodeJs
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
vue 中this.$set 动态绑定数据的案例讲解
2021/01/29 Vue.js
python多线程http下载实现示例
2013/12/30 Python
使用Python的Zato发送AMQP消息的教程
2015/04/16 Python
对python周期性定时器的示例详解
2019/02/19 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
浅谈HTML5 & CSS3的新交互特性
2016/07/19 HTML / CSS
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
毕业生自我鉴定
2013/12/04 职场文书
工商管理实习生自我鉴定范文
2013/12/18 职场文书
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
迎七一演讲稿
2014/09/12 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
党员个人剖析材料
2014/09/30 职场文书
建筑横幅标语
2014/10/09 职场文书
2014年财政所工作总结
2014/11/22 职场文书
基于python实现银行管理系统
2021/04/20 Python
PyTorch中的torch.cat简单介绍
2022/03/17 Python