1

我正在向 django 系统添加一些代码,该系统需要在退出函数时进行特定的函数调用。我正在更新的大部分代码都有几个退出点,这要求我在每个退出点之前添加一个单行。有点丑。

我想做的是简单地说,“在退出这个函数时,做这个”,很像 atexit 模块(无论如何我已经找到了),但是在退出函数时触发而不是整个脚本。

有什么我可以使用的东西吗?

(顺便说一下,我使用的是 Python 2.7.3)

4

2 回答 2

3

你可以使用装饰器。这只是一个围绕函数的包装器:你可以在调用它之前或之后做你喜欢的事情。

def do_after(func):
    def wrapper(*args, **kwargs):
        func(*args, **kwargs)
        call_my_extra_function()
    return wrapper

并使用它:

@do_after
def my_view(request):
    ...
于 2013-06-20T19:17:48.690 回答
0

不要调用该函数,而是创建一个同时调用两者的函数

-function a(你的函数)

-function b(退出函数代码)

改为调用此元函数

于 2013-06-20T19:17:23.140 回答