实际现象
- python main.py stdout没有打印相关的警告描述
问题
-
如何提示我的调用者(客户端), 某某函数已经废弃了呢( 不通过文档 ) ( 总要在某个时刻警告之 )
- 在stdout打印, 但是这个方法使用范围不是很大
相关代码
- 我的装饰器
def deprecated(reason):
def _decorator(func):
@functools.wraps(func)
def __wrapper(*args, **kwargs):
warn_str = '%s is now deprecated! reason: %s' % (func.__name__, reason)
warnings.warn(warn_str, category=DeprecationWarning,
stacklevel=2)
return func(*args, **kwargs)
return __wrapper
return _decorator
@deprecated('this functions is deprecated, please use mod1.func2')
def func1(a, b):
return a + b
def func2(x, y):
return func1(x, y)
def main():
print(func2(1, 1))
if __name__ == '__main__':
main()
上下文环境
- python2.7