3
工作我想下面的簡單代碼sys.exitfunc不是蟒蛇
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.4.3'。所以這會解釋行爲。但是不應該對python解釋器抱怨嗎? –
防止任意屬性被添加到C中定義的*類型的對象*顯然不適用於模塊。應該是?有可能。 –
@AniketThakur不,你只是簡單地將'exitfunc'屬性設置爲'sys'模塊,這沒有什麼錯。你可以做'sys.blahblahblah =',它可以工作(只要定義了一些東西:-),就像它適用於python中的大多數其他對象一樣)。 –