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

 更新时间:2014年02月24日 14:46:59   作者:  
项目中用到了一个WriteData的函数保存用户填写的配置,为了实现验证用户输入的需求,在不影响接口的使用的前提下,采用了python的装饰器实现,代码片段演示了如何验证WriteData函数的输入参数

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

复制代码 代码如下:

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里面None True False之间的区别

    浅谈Python里面None True False之间的区别

    这篇文章主要介绍了浅谈Python里面None True False之间的区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • 基于python实现微信模板消息

    基于python实现微信模板消息

    本文通过一段代码实例给大家介绍基于python实现微信模板消息的相关资料,对python模板消息感兴趣的朋友一起学习吧
    2015-12-12
  • python3 assert 断言的使用详解 (区别于python2)

    python3 assert 断言的使用详解 (区别于python2)

    今天小编就为大家分享一篇python3 assert 断言的使用详解 (区别于python2),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 对Python获取屏幕截图的4种方法详解

    对Python获取屏幕截图的4种方法详解

    今天小编就为大家分享一篇对Python获取屏幕截图的4种方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 浅谈pandas用groupby后对层级索引levels的处理方法

    浅谈pandas用groupby后对层级索引levels的处理方法

    今天小编就为大家分享一篇浅谈pandas用groupby后对层级索引levels的处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python中cPickle用法例子分享

    python中cPickle用法例子分享

    这篇文章主要介绍了python中cPickle用法例子,有需要的朋友可以参考一下
    2014-01-01
  • Python实现KPM算法详解

    Python实现KPM算法详解

    大家好,本篇文章主要讲的是Python实现KPM算法详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 使Python代码流畅无缝连接的链式调用技巧

    使Python代码流畅无缝连接的链式调用技巧

    链式调用是一种编程风格,它允许将多个方法调用连接在一起,形成一个连贯的操作链,在Python中,链式调用常常用于使代码更简洁、易读,尤其在处理数据处理和函数式编程中应用广泛
    2024-01-01
  • python基础之文件操作和异常处理

    python基础之文件操作和异常处理

    这篇文章主要介绍了python基础之文件操作和异常处理,文中有非常详细的代码示例,对正在学习python基础的小伙伴们有一定的帮助,需要的朋友可以参考下
    2021-04-04
  • pytorch加载自定义网络权重的实现

    pytorch加载自定义网络权重的实现

    今天小编就为大家分享一篇pytorch加载自定义网络权重的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01

最新评论