Python笔记 之 自定义装饰器

代码

注意:Logger为自定义类,代码请参考Python笔记 之 自定义日志类
闭包及装饰器清参考Python笔记 之 闭包及装饰器

# -*- codeing = utf-8 -*-
# @File : CCLDecorator.py
# @Author : 一起种梧桐吧
# @Version : Python 3.10.0
# @Software : PyCharm
# @Time : 2022-08-25 14:19
# @Purpose : 装饰器

from time import time
from CCLLogger import Logger


def decorator(func):
	"""利用装饰器写运行日志"""
	_ = Logger()
	
	def logger(*args, **kwargs):
		"""利用自定义Logger类写函数运行日志"""
		time_start = time()
		_.write("运行结果:{}".format(func(*args, **kwargs)))
		_.write("函数名称:{}".format(func.__name__))
		_.write("文件路径:{}".format(__file__))
		_.write("运行耗时:{}秒".format(round(time() - time_start, 8)))
		_.write(" << 函数{}运行结束 >> ".format(func.__name__).center(50, "*"))
	
	return logger


if __name__ == "__main__":
	@decorator
	def func():
		return 1
	
	func()

运行结果

D:\Python\Python310\python.exe E:/DataAnalysis/CustomClassLibrary/CCLDecorator.py
11:07:52 >> 运行结果:1
11:07:52 >> 函数名称:func
11:07:52 >> 文件路径:E:\DataAnalysis\CustomClassLibrary\CCLDecorator.py
11:07:52 >> 运行耗时:0.011:07:52 >> **************** << 函数func运行结束 >> ****************

Process finished with exit code 0

你可能感兴趣的:(Python笔记,python,装饰器,日志)