装饰器示例
from functools import wraps
import time
import os
from datetime import datetime
def output_report(text):
def decorator(func):
@wraps(func)
def wrapper(*args, **kw):
start = datetime.today()
str = r'time : %s ; task %s start; function name : %s ' % (start, text, func.__name__)
print(str)
result = func(*args, **kw)
end = datetime.today()
str = r'time : %s ; task %s success; function name : %s ' % (start, text, func.__name__)
print(str)
return result
return wrapper
return decorator
@output_report('Print')
def Print(str):
print ("asfdadfsa %s"%str)
time.sleep(2)
print ("asfdadfsa %s"%str)
Print('123')
输出:
time : 2019-02-22 09:40:40.298589 ; task Print start; function name : Print
asfdadfsa 123
asfdadfsa 123
time : 2019-02-22 09:40:40.298589 ; task Print success; function name : Print