调用 sys.exit() 后不会触发 atexit
atexit not triggering after sys.exit() is called
我正在尝试使用 pyautogui 为我在 python 中编写的自动化脚本实施一些基本的关闭任务。我每天打开一个程序并单击某些按钮来创建每日报告。但是如果出现问题,我需要它来关闭它正在使用的程序。
我尝试使用 atexit.register,但当我触发 sys.exit() 时它似乎没有 运行。所以我写了一个测试脚本来验证它是否触发了,但没有。
import atexit as a
import sys
def closeout():
print("atexit triggered, closing out")
print("starting program")
print("Registering closeout with atexit")
a.register(closeout)
print(r"triggering sys.exit()")
sys.exit()
它应该打印出以下内容:
"starting program"
"Registering closeout with atexit"
"triggering sys.exit()"
"atexit triggered, closing out"
但我没听懂最后一行。
有什么想法吗?如果重要的话,我是 运行ning 3.7.2。
我正在尝试使用 pyautogui 为我在 python 中编写的自动化脚本实施一些基本的关闭任务。我每天打开一个程序并单击某些按钮来创建每日报告。但是如果出现问题,我需要它来关闭它正在使用的程序。
我尝试使用 atexit.register,但当我触发 sys.exit() 时它似乎没有 运行。所以我写了一个测试脚本来验证它是否触发了,但没有。
import atexit as a
import sys
def closeout():
print("atexit triggered, closing out")
print("starting program")
print("Registering closeout with atexit")
a.register(closeout)
print(r"triggering sys.exit()")
sys.exit()
它应该打印出以下内容:
"starting program"
"Registering closeout with atexit"
"triggering sys.exit()"
"atexit triggered, closing out"
但我没听懂最后一行。
有什么想法吗?如果重要的话,我是 运行ning 3.7.2。