我试图运行以下简单的代码
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.