python-3.x - 我应该如何在 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 吗?我得到的所有参考都令人困惑,所以我有点迷失在这里。
解决方案
您调用 end_script
并将其返回值传递给register
. 不要调用它,只需执行以下操作:
atexit.register(end_script) # No call parens after end_script
推荐阅读
- python - Pycharm 中的运行和待办事项选项卡
- powershell - 如何将变量扩展为几个空格分隔的程序参数
- php - 如何在 php 中使用 curl 从网页中获取特定内容?
- javascript - 使用嵌套对象对数组内的值进行分组和计数
- html - 使用 vba 错误 438 抓取网页让我发疯
- java - 带有日期和运算符的 SQL 查询 Springboot
- javascript - JavaScript中基于字符串+数值对对象数组进行排序
- windows - kotlin 代码的运行时编译抛出 RuntimeException(警告:无法为 Windows 初始化本机文件系统)
- python - Visual Studio(python)中的异常未处理错误
- python - 如何将 paramiko 与 pexpect 一起使用?