python装饰器验证配置文件
在python编程中,装饰器是个不错的功能,本节学习下python装饰器的用法。
项目中用到了一个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")