python-2.7 - 如何在 Python 2.7 中引发弃用警告?

标签 python-2.7 pycharm

我试图将一个函数标记为已弃用,以便调用它的脚本运行正常完成,但被 PyCharm 的静态代码检查捕获。 (关于此弃用警告还有一些其他问题,但我认为它们早于 Python 2.6,当时我相信引入了基于类的异常。)

这是我所拥有的:

class Deprecated(DeprecationWarning):
    pass

def save_plot_and_insert(filename, worksheet, row, col):
    """
    Deprecated. Docstring ...<snip>
    """

    raise Deprecated()

    # Active lines of
    # the function here
    # ...

我的理解是 Deprecated Warnings 应该允许代码运行,但是这个代码示例实际上在调用函数时停止。当我从函数体中删除“raise”时,代码会运行,但 PyCharm 不会将函数调用标记为已弃用。

将函数标记为已弃用的 Pythonic (2.7.x) 方式是什么?

最佳答案

你不应该raise DeprecationWarning (或子类),因为那时您仍在引发实际异常。

而是使用 warnings.warn :

import warnings
warnings.warn("deprecated", DeprecationWarning)

关于python-2.7 - 如何在 Python 2.7 中引发弃用警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29378505/

相关文章:

python-2.7 - 如何通过 Python 脚本运行 Powershell 函数

python - 使用django认证系统

Django Rest Framework 模型序列化器没有唯一的共同验证

python - PyCharm 无法识别 Python 文件

python - PyCharm:如何判断先前发送的选择是否已在控制台完成执行?

python - PyCharm 调试器卡在 "Collecting Data"

python - 返回不是其他字符串的子字符串的字符串 - 时间是否可能小于 O(n^2)?

python - 文字和枚举的重载类型提示在 PyCharm 中不起作用

python - 正则表达式为??? (三个相邻的问号)用于 PyCharm 的代码标签

python - 如何将索引转换为列表?