如何在程序结束之前运行一些东西在python中

时间:2017-07-20 05:48:45

标签: python

在程序以Python结尾之前建议的方法是什么?

e.g。在c ++中,我可以做类似

的事情
struct Cleanup { ~Cleanup() { ..do something..} };
....In some function... {
  static Cleanup cleanup; // this will be cleaned when program ends.
}

(我不确定上面的方式在C ++中是否合法,但似乎对我有用)。

2 个答案:

答案 0 :(得分:2)

由于您专门询问程序整理,您可能还想查看内置的atexit模块。

https://docs.python.org/3/library/atexit.html

答案 1 :(得分:0)

搜索python析构函数。

class Package:
    ...
    def __del__(self):
        pass

    def __exit__(self, exc_type, exc_value, traceback):
        pass

或装饰者

@SomeDecorator
def function():
    pass

def SomeDecorator(func):
    def wrapper(self, *args, **kwargs):
        func(self, *args, **kwargs)
        # after func
return wrapper