Python:导入函数时发出弃用警告
Python: Issue Deprecation warning when importing a function
在文件中 B.py
我有一个函数 hello()。该位置已弃用,我将其移至 A.py
.
目前我是:
def hello():
from A import hello as new_hello
warnings.warn(
"B.hello() is deprecated. Use A.hello() instead.",
DeprecationWarning
)
return new_hello()
但这会在调用函数时发出警告。我想在导入函数时发出警告。如果像这样导入函数是否可以发出警告:
from B import hello
B.py
还有一些其他功能,没有被弃用。
在函数上使用装饰器应该可以,在导入或调用函数时会显示警告。请仔细检查该函数是否未在导入时执行(不应该)。
import warnings
import functools
def depreciated_decorator(func):
warnings.warn("This method is depreciated")
@functools.wraps(func)
def wrapper(*args, **kwargs):
return func(*args, **kwargs)
return wrapper
@depreciated_decorator
def test_method(num_1, num_2):
print('I am a method executing' )
x = num_1 + num_2
return x
# Test if method returns normally
# x = test_method(1, 2)
# print(x)
在文件中 B.py
我有一个函数 hello()。该位置已弃用,我将其移至 A.py
.
目前我是:
def hello():
from A import hello as new_hello
warnings.warn(
"B.hello() is deprecated. Use A.hello() instead.",
DeprecationWarning
)
return new_hello()
但这会在调用函数时发出警告。我想在导入函数时发出警告。如果像这样导入函数是否可以发出警告:
from B import hello
B.py
还有一些其他功能,没有被弃用。
在函数上使用装饰器应该可以,在导入或调用函数时会显示警告。请仔细检查该函数是否未在导入时执行(不应该)。
import warnings
import functools
def depreciated_decorator(func):
warnings.warn("This method is depreciated")
@functools.wraps(func)
def wrapper(*args, **kwargs):
return func(*args, **kwargs)
return wrapper
@depreciated_decorator
def test_method(num_1, num_2):
print('I am a method executing' )
x = num_1 + num_2
return x
# Test if method returns normally
# x = test_method(1, 2)
# print(x)