首页 > 解决方案 > 我应该如何在 python 中使用 atexit?

问题描述

我在下面使用此代码,但它只输出“TypeError:第一个参数必须是可调用的”

import atexit

def end_script():
    print("ahh yes it works")

atexit.register(end_script())

while True:
    print("It still doesn't work")

脚本关闭时 atexit.register(x) 不应该只调用 x 吗?我得到的所有参考都令人困惑,所以我有点迷失在这里。

标签: python-3.xatexit

解决方案


调用 end_script并将其返回值传递给register. 不要调用它,只需执行以下操作:

atexit.register(end_script)  # No call parens after end_script

推荐阅读