赞
踩
有时候在使用某个python func的时候,我们需要告诉用户,这个函数马上就要被废弃了,不能使用了,我们可以通过修饰的办法做到:
import cv2 as cv import numpy as np import os import functools import warnings class AVDeprecationWarning(DeprecationWarning): pass class AttributeRenamedWarning(AVDeprecationWarning): pass class MethodDeprecationWarning(AVDeprecationWarning): pass class method(object): def __init__(self, func): functools.update_wrapper(self, func, ("__name__", "__doc__")) self.func = func def __get__(self, instance, cls): warning = MethodDeprecationWarning( "{}.{} is deprecated.".format(cls.__name__, self.func.__name__) ) warnings.warn(warning, stacklevel=2) return self.func.__get__(instance, cls) class Buffer(object): @method def buffer_size(self): return 0 b=Buffer() c=b.buffer_size() print(c)
当用户使用buffer_size()的时候就会打印提示信息:
test.py:36: MethodDeprecationWarning: Buffer.buffer_size is deprecated.
c=b.buffer_size()
0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。