sys.exitfunc无法在python中工作

我试图运行以下简单的代码

import sys

print("Starting Test Python Module");

def testmethod():
    print("From test method")

sys.exitfunc = testmethod
print("Terminating Test Python Module");

它打印出来

C:\Users\athakur\Softwares>python test.py
Starting Test Python Module
Terminating Test Python Module

我无法理解为什么它不打印“从测试方法”

使用atexit工作正常

import atexit

print("Starting Test Python Module");

def testmethod():
    print("From test method")

atexit.register(testmethod)
print("Terminating Test Python Module");

输出

C:\Users\athakur\Softwares>python test.py
Starting Test Python Module
Terminating Test Python Module
From test method

解决方法:

Python 3.x中的sys.exitfunc does not exist.

上一篇:加入的Python流程不会调用atexit


下一篇:c# – 混合模式C/C++LI崩溃:atexit中的堆损坏(静态析构函数注册)