使用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 相关文章推荐
Linux下用Python脚本监控目录变化代码分享
May 21 Python
python字符串编码识别模块chardet简单应用
Jun 15 Python
八大排序算法的Python实现
Jan 28 Python
Python3中简单的文件操作及两个简单小实例分享
Jun 18 Python
Python实现的批量修改文件后缀名操作示例
Dec 07 Python
python画图系列之个性化显示x轴区段文字的实例
Dec 13 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
python批量创建指定名称的文件夹
Mar 21 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
Jul 15 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
Jan 13 Python
Python sklearn中的.fit与.predict的用法说明
Jun 28 Python
Python与C++中梯度方向直方图的实现
Mar 17 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性能优化 产生高度优化代码
2011/07/22 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
记录一次开发微信网页分享的步骤
2019/05/07 Javascript
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
2019/11/18 NodeJs
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
微信小程序swiper使用网络图片不显示问题解决
2019/12/13 Javascript
Vue将props值实时传递 并可修改的操作
2020/08/09 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
2020/11/17 Vue.js
[03:36]2015国际邀请赛第二日现场精彩集锦
2015/08/06 DOTA
在Python中的Django框架中进行字符串翻译
2015/07/27 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
python各类经纬度转换的实例代码
2019/08/08 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
python tqdm实现进度条的示例代码
2020/11/10 Python
python用700行代码实现http客户端
2021/01/14 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
HTML5 LocalStorage 本地存储刷新值还在
2017/03/10 HTML / CSS
活动志愿者自荐信
2014/01/27 职场文书
远程研修随笔感言
2014/02/10 职场文书
竞选演讲稿范文大全
2014/05/12 职场文书
面试必备的求职信
2014/05/25 职场文书
实习指导教师评语
2014/12/30 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python
Python超详细分步解析随机漫步
2022/03/17 Python
Python+Tkinter制作专属图形化界面
2022/04/01 Python
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server