python atexit模組學習

2022-07-21 03:57:12 字數 548 閱讀 7764

python atexit模組 只定義了乙個register模組用於註冊程式退出時的**函式,我們可以在這個函式中做一下資源清理的操作

注:如果程式是非正常crash,或者通過os._exit()退出,註冊的**函式將不會被呼叫

atexit()函式

函式名: atexit

標頭檔案:#include

我們也可以通過sys.exitfunc來註冊**,但通過它只能註冊乙個**,而且還不支援引數。所以建議大家使用atexit來註冊**函式。但千萬不要在程式中同時使用這兩種方式,否則通過atexit註冊的**可能不會被正常呼叫。其實通過查閱atexit的原始碼,你會發現原來它內部是通過sys.exitfunc來實現的,它先把註冊的**函式放到乙個列表中,當程式退出的時候,按先進後出的順序呼叫註冊的**。如果**函式在執行過程中丟擲了異常,atexit會列印異常的文字資訊,並繼續執行下一下**,直到所有的**都執行完畢,它會重新丟擲最後接收到的異常。

功 能: 註冊終止函式(即main執行結束後呼叫的函式)

用 法: int atexit(void (*func)(void));

Pyython subprocess模組學習總結

從python 2.4開始,python引入subprocess模組來管理子程序,以取代一些舊模組的方法 如 os.system os.spawn os.popen popen2.commands.不但可以呼叫外部的命令作為子程序,而且可以連線到子程序的input output error管道,獲取...

Python subprocess模組的學習

1 用來生成子程序,並可以通過管道連線他們的輸入 輸出 錯誤,以及獲得他們的返回值。2 subprocess用來替換多個舊模組和函式 os.system 結果輸出到螢幕 os.spawn os.popen 結果儲存在記憶體中,用read 方法可讀取 popen2.commands.備註 執行pyth...

學驅動從模組開始

通用的makefile模板 ifeq kernelrelease kerneldir home lht kernel2.6 linux 2.6.14 kerneldir lib modules shell uname r build pwd shell pwd modules make c kern...