Application of Python decorator -- information acquisition
編輯:Python
# !/usr/bin/env python
# -*- coding:utf-8 -*-
""" Implement a decorator , Every time a function is called , Write the function name and the time node that called the function to the file info_myfunc in . """
import time
# Decorator to get function call time and function name
def get_info_decorator(func):
def inner(*args, **kwargs):
ret = func(*args, **kwargs)
with open('info_myfunc', encoding='utf-8', mode='a') as f:
time_call = time.localtime()
now_time = time.strftime("%Y-%m-%d %H:%M:%S", time_call)
f.write(f'{
now_time} I called the function {
func.__name__}\n')
return ret
return inner
@get_info_decorator
def myfunc():
print("Hello World!!!")
myfunc()