1 def log(func): 2 def inner(*args,**kwargs): 3 with open('log',mode='a',encoding='utf-8') as f: #以追加的方式打开 4 f.write(func.__name__+' ') #写人调用函数的函数名,以 结尾 5 ret = func(*args,**kwargs) 6 return ret 7 return inner 8 9 @log 10 def func_1(): 11 print('执行一次func_1') 12 13 @log 14 def func_2(): 15 print('执行一次func_2') 16 17 func_1() 18 func_2() 19 func_2() 20 func_2() 21 func_1()
运行结果:
1 执行一次func_1 2 执行一次func_2 3 执行一次func_2 4 执行一次func_2 5 执行一次func_1
log文件情况: