欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入理解python中的atexit模塊

 更新時(shí)間:2017年03月07日 08:24:17   作者:LoyaChen  
atexit模塊很簡(jiǎn)單,只定義了一個(gè)register函數(shù)用于注冊(cè)程序退出時(shí)的回調(diào)函數(shù),我們可以在這個(gè)回調(diào)函數(shù)中做一些資源清理的操作。下面這篇文章主要介紹了python中atexit模塊的相關(guān)資料,需要的朋友可以參考下。

atexit 模塊介紹

python atexit 模塊定義了一個(gè) register 函數(shù),用于在 python 解釋器中注冊(cè)一個(gè)退出函數(shù),這個(gè)函數(shù)在解釋器正常終止時(shí)自動(dòng)執(zhí)行,一般用來(lái)做一些資源清理的操作。 atexit 按注冊(cè)的相反順序執(zhí)行這些函數(shù); 例如注冊(cè)A、B、C,在解釋器終止時(shí)按順序C,B,A運(yùn)行。

Note:如果程序是非正常crash,或者通過(guò)os._exit()退出,注冊(cè)的退出函數(shù)將不會(huì)被調(diào)用。

官方文檔:https://docs.python.org/3.5/library/atexit.html

注冊(cè) 退出函數(shù)

atexit.register(func, *args, **kargs)

將func作為要在終止時(shí)執(zhí)行的函數(shù)。任何要傳遞給func的可選參數(shù)必須作為參數(shù)傳遞給register() ??梢远啻巫?cè)相同的函數(shù)和參數(shù)。

當(dāng)程序退出的時(shí)候,按先進(jìn)后出的順序調(diào)用注冊(cè)的函數(shù)。如果退出函數(shù)在執(zhí)行過(guò)程中拋出了異常,atexit會(huì)打印異常的信息,并繼續(xù)執(zhí)行下一下回調(diào),直到所有退出函數(shù)執(zhí)行完畢,它會(huì)重新拋出最后接收到的異常。

示例

通過(guò)裝飾器的方式:

#!/usr/bin/env python
from atexit import register
def main():
 print('Do something.')
@register
def _atexit():
 print('Done.')
if __name__ == '__main__':
 main()

非裝飾器的方式:

#!/usr/bin/env python
from atexit import register
def main():
 #pass
 print('XX')
def goodbye(name, adjective):
 print('Goodbye, %s, it was %s to meet you.' % (name, adjective))
 
register(goodbye, 'Donny', 'nice')
# or:
# register(goodbye, adjective='nice', name='Donny')
if __name__ == '__main__':
 main()

刪除退出函數(shù)[一般用不到]

> atexit.unregister(func)
>

從解釋器關(guān)閉時(shí)運(yùn)行的函數(shù)列表中刪除func。 調(diào)用unregister()后,當(dāng)解釋器關(guān)閉時(shí),即使它被注冊(cè)了多次,func也不會(huì)被調(diào)用。如果func沒(méi)有注冊(cè)過(guò)的話,則unregister()什么也不會(huì)做。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • python中openpyxl和xlsxwriter對(duì)Excel的操作方法

    python中openpyxl和xlsxwriter對(duì)Excel的操作方法

    這篇文章主要介紹了python中openpyxl和xlsxwriter對(duì)Excel的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Python采集某評(píng)論區(qū)內(nèi)容的實(shí)現(xiàn)示例

    Python采集某評(píng)論區(qū)內(nèi)容的實(shí)現(xiàn)示例

    本文主要介紹了Python采集某評(píng)論區(qū)內(nèi)容的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 通過(guò)python實(shí)現(xiàn)Google的精準(zhǔn)搜索功能

    通過(guò)python實(shí)現(xiàn)Google的精準(zhǔn)搜索功能

    這篇文章主要介紹了通過(guò)python實(shí)現(xiàn)Google的精準(zhǔn)搜索功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-05-05
  • 用tensorflow搭建CNN的方法

    用tensorflow搭建CNN的方法

    本篇文章主要介紹了用tensorflow搭建CNN的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Python爬蟲(chóng)之網(wǎng)頁(yè)圖片抓取的方法

    Python爬蟲(chóng)之網(wǎng)頁(yè)圖片抓取的方法

    最近小編一直在學(xué)習(xí)python的東西,今天小編給大家分享基于python寫(xiě)的一個(gè)爬蟲(chóng)程序,能實(shí)現(xiàn)簡(jiǎn)單的網(wǎng)頁(yè)圖片下載,具體實(shí)例代碼大家參考下本文
    2018-07-07
  • python自帶緩存lru_cache用法及擴(kuò)展的使用

    python自帶緩存lru_cache用法及擴(kuò)展的使用

    本篇博客將結(jié)合python官方文檔和源碼詳細(xì)講述lru_cache緩存方法是怎么實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Python導(dǎo)入父文件夾中模塊并讀取當(dāng)前文件夾內(nèi)的資源

    Python導(dǎo)入父文件夾中模塊并讀取當(dāng)前文件夾內(nèi)的資源

    這篇文章主要給大家介紹了關(guān)于Python導(dǎo)入父文件夾中模塊并讀取當(dāng)前文件夾內(nèi)資源的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 用Pycharm實(shí)現(xiàn)鼠標(biāo)滾輪控制字體大小的方法

    用Pycharm實(shí)現(xiàn)鼠標(biāo)滾輪控制字體大小的方法

    今天小編就為大家分享一篇用Pycharm實(shí)現(xiàn)鼠標(biāo)滾輪控制字體大小的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python獲取Excel文件行數(shù)的方法

    Python獲取Excel文件行數(shù)的方法

    在數(shù)據(jù)分析和自動(dòng)化辦公領(lǐng)域,Python 因其簡(jiǎn)潔的語(yǔ)法和強(qiáng)大的庫(kù)支持而廣受歡迎,特別是當(dāng)涉及到處理 Excel 文件時(shí),Python 提供了多種庫(kù)來(lái)簡(jiǎn)化這一過(guò)程,本文給大家介紹了如何使用Python獲取 Excel 文件的行數(shù),感興趣的小伙伴跟著小編一起來(lái)看看吧
    2024-09-09
  • 獨(dú)立進(jìn)程使用django模型及django.setup()使用

    獨(dú)立進(jìn)程使用django模型及django.setup()使用

    這篇文章主要介紹了獨(dú)立進(jìn)程使用django模型(django.setup()使用),它提供了一種簡(jiǎn)單且高效的方式來(lái)利用Django強(qiáng)大的功能,并使你的代碼更易于維護(hù)和擴(kuò)展,需要的朋友可以參考下
    2023-07-07

最新評(píng)論