背景:python更多的应用于写脚本,但是脚本一多起来,程序的执行监控和管理就会成为一个大问题,但是如果每一个脚本都写上错误监控和日志记录就会极大地增加工作量。但是如果利用上装饰器的特性,在每一个脚本的main函数上使用装饰器,这样就会简便很多。
知识点:装饰器
def send_email(message):
print('this is a def for send a email:%s'%message)
def logging(message):
print('this is a def for write a log:%s'%message)
#带参数的装饰器
def emailandlog(fun):
def wapper(*args,**kwargs):
try:
fun(*args,**kwargs)
except:
message = traceback.format_exc()
#发送邮件
send_email(message)
#记录日志
logging(message)
return wapper
@emailandlog
#用于测试的故意写错的一个函数
def test(name='zj',age='16'):
k = {name:age}
error = k[0]
test()
当然以上代码肯定不能拿来就用的,得自己去写两个发送邮件和记录日志函数。
如果想要更多了解装饰器,可以看看下面这篇文章,可以说写的很优秀了
https://www.cnblogs.com/cicaday/p/python-decorator.html