Bea*_*ber 12 pycharm python-2.7
我正在尝试将一个函数标记为已弃用,以便调用它的脚本运行到正常完成,但是被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
# ...
Run Code Online (Sandbox Code Playgroud)
我的理解是,Deprecated Warnings应该允许代码运行,但是这个代码示例实际上在调用函数时停止.当我从函数体中删除"raise"时,代码会运行,但PyCharm不会将函数调用标记为已弃用.
什么是将函数标记为已弃用的Pythonic(2.7.x)方法?
Tho*_*ers 25
你不应该raise DeprecationWarning(或子类),因为那时你仍然在提出一个实际的异常.
而是使用warnings.warn:
import warnings
warnings.warn("deprecated", DeprecationWarning)
Run Code Online (Sandbox Code Playgroud)
https://docs.python.org/2/library/warnings.html#warnings.warn
| 归档时间: |
|
| 查看次数: |
4754 次 |
| 最近记录: |