Python zope.deprecation

发布于 2025-01-21 20:53:41 字数 2017 浏览 0 评论 0

This package provides a simple function called deprecated(names, reason) to mark deprecated modules, classes, functions, methods and properties. readthedocs

Usage

function

对函数进行弃用说明, readthedocs 使用将例子直接放到 zope.deprecation package 路径的操作, tmp_d = tempfile.mkdtemp('deprecation'); zope.deprecation.__path__.append(tmp_d) 这里的例子没有这样做.

# cat deprecate demo.py
from zope.deprecation import deprecated
# in function
def demo1():
    return 1
deprecated('demo1', 'demo1 is no more.')

def demo4():
    return 4
def deprecatedemo4():
    """Demonstrate that deprecated() also works in a local scope."""
    deprecated('demo4', 'demo4 is no more.')

测试 deprecated 是否可用

>>> import warnings
>>> import demo
>>> with warnings.catch_warnings(record=True) as log:
...     del warnings.filters[:]
...     doctest_ex.demo1()
1
>>> print log[0].category.__name__
DeprecationWarning
>>> print log[0].message
demo1: demo1 is no more.

>>> import demo
>>> with warnings.catch_warnings(record=True) as log:
...     del warnings.filters[:]
...     zope.deprecation.doctest_ex.demo2()
2
>>> print log[0].message
demo2: demo2 is no more.

properties and function in class

from zope.deprecation import deprecation
class MyComponent(object):
    foo = property(lambda self: 1)
    # properties
    foo = deprecation.deprecated(foo, 'foo is no more.')

    bar = 2

    def blah(self):
        return 3
    blah = deprecation.deprecated(blah, 'blah() is no more.')

    def splat(self):
        return 4

    @deprecation.deprecate("clap() is no more.")
    def clap(self):
        return 5

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

上一篇:

下一篇:

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

假装爱人

暂无简介

文章
评论
26 人气
更多

推荐作者

白云不回头

文章 0 评论 0

糖粟与秋泊

文章 0 评论 0

洋豆豆

文章 0 评论 0

泛滥成性

文章 0 评论 0

mb_2YvjCLvt

文章 0 评论 0

夜光

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文