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)