我正在向 django 系统添加一些代码,该系统需要在退出函数时进行特定的函数调用。我正在更新的大部分代码都有几个退出点,这要求我在每个退出点之前添加一个单行。有点丑。
我想做的是简单地说,“在退出这个函数时,做这个”,很像 atexit 模块(无论如何我已经找到了),但是在退出函数时触发而不是整个脚本。
有什么我可以使用的东西吗?
(顺便说一下,我使用的是 Python 2.7.3)
你可以使用装饰器。这只是一个围绕函数的包装器:你可以在调用它之前或之后做你喜欢的事情。
def do_after(func):
def wrapper(*args, **kwargs):
func(*args, **kwargs)
call_my_extra_function()
return wrapper
并使用它:
@do_after
def my_view(request):
...
不要调用该函数,而是创建一个同时调用两者的函数
-function a(你的函数)
-function b(退出函数代码)
改为调用此元函数