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

Python contextlib模塊使用示例

 更新時(shí)間:2015年02月18日 15:39:37   投稿:junjie  
這篇文章主要介紹了Python contextlib模塊使用示例,本文著重使用contextlib模塊產(chǎn)生一個(gè)上下文管理器,需要的朋友可以參考下

看這個(gè)模塊要先看with as的用法,最常用的方法就是打開(kāi)一個(gè)文件:

復(fù)制代碼 代碼如下:

with open(“filename”) as f:
f.read()

with可以調(diào)用一個(gè)上下文管理器,產(chǎn)生運(yùn)行時(shí)的上下文環(huán)境。上下文管理器主要定義兩個(gè)方法,__enter__,__exit__。__enter__返回上下文里操作的對(duì)象,如f。__exit__是銷(xiāo)毀對(duì)象和異常處理。

contextlib模塊對(duì)外有三個(gè)接口,
contextmanager裝飾器,裝飾的函數(shù)必須是一個(gè)生成器。然后返回一個(gè)函數(shù),在函數(shù)調(diào)用的時(shí)候返回一個(gè)上下文管理器。

nested為了一次調(diào)用多個(gè)上下文管理器的時(shí)候用,將所有上下文管理器里的__enter__放到vars里,一次yield返回,然后unpack。就產(chǎn)生多個(gè)對(duì)象了。__exit__都放到exits列表里,在finally里統(tǒng)一調(diào)用,這些__exit__在調(diào)用上下文管理器產(chǎn)生異常時(shí),如何處理。如果返回false,將會(huì)把異常繼續(xù)拋出,返回true則不會(huì)拋出異常。

closing,這個(gè)用過(guò),沒(méi)想到的是竟然是個(gè)類(lèi),而不是個(gè)函數(shù)。就是把有close方法卻沒(méi)有__exit__方法的對(duì)象變成一個(gè)上下文管理器。代碼很簡(jiǎn)單:

復(fù)制代碼 代碼如下:

class closing(object):
    def __init__(self, thing):
        self.thing = thing
    def __enter__(self):
        return self.thing
    def __exit__(self, *exc_info):
        self.thing.close()

相關(guān)文章

  • 5款最強(qiáng)且免費(fèi)的Python IDE小結(jié)

    5款最強(qiáng)且免費(fèi)的Python IDE小結(jié)

    開(kāi)發(fā)工具在日常代碼編寫(xiě)過(guò)程中起著至關(guān)重要的作用,一款優(yōu)秀的開(kāi)發(fā)工具,不僅可以盡可能的減少你在配置方面耗費(fèi)的精力,本文主要介紹了5種,感興趣的可以了解一下
    2021-07-07
  • Python如何使用bokeh包和geojson數(shù)據(jù)繪制地圖

    Python如何使用bokeh包和geojson數(shù)據(jù)繪制地圖

    這篇文章主要介紹了Python如何使用bokeh包和geojson數(shù)據(jù)繪制地圖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • PyTorch中g(shù)rid_sample的使用及說(shuō)明

    PyTorch中g(shù)rid_sample的使用及說(shuō)明

    這篇文章主要介紹了PyTorch中g(shù)rid_sample的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • python將txt文件讀取為字典的示例

    python將txt文件讀取為字典的示例

    今天小編就為大家分享一篇python將txt文件讀取為字典的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • 一篇文章帶你詳細(xì)了解python中一些好用的庫(kù)

    一篇文章帶你詳細(xì)了解python中一些好用的庫(kù)

    這篇文章主要推薦了一些好用的Python庫(kù),都有這不錯(cuò)的群眾基礎(chǔ),非常好用,也都很實(shí)用,推薦給大家,希望能夠給你帶來(lái)幫助
    2021-09-09
  • Python構(gòu)建網(wǎng)頁(yè)爬蟲(chóng)原理分析

    Python構(gòu)建網(wǎng)頁(yè)爬蟲(chóng)原理分析

    這篇文章主要給大家講解了構(gòu)建網(wǎng)頁(yè)爬蟲(chóng)的技術(shù)原理以及實(shí)現(xiàn)的邏輯關(guān)系,有興趣的朋友閱讀下吧。
    2017-12-12
  • ansible動(dòng)態(tài)Inventory主機(jī)清單配置遇到的坑

    ansible動(dòng)態(tài)Inventory主機(jī)清單配置遇到的坑

    這篇文章主要介紹了ansible動(dòng)態(tài)Inventory主機(jī)清單配置遇到的坑,需要的朋友可以參考下
    2020-01-01
  • Python從Excel讀取數(shù)據(jù)并使用Matplotlib繪制成二維圖像

    Python從Excel讀取數(shù)據(jù)并使用Matplotlib繪制成二維圖像

    本課程實(shí)現(xiàn)使用 Python 從 Excel 讀取數(shù)據(jù),并使用 Matplotlib 繪制成二維圖像。這一過(guò)程中,將通過(guò)一系列操作來(lái)美化圖像,最終得到一個(gè)可以出版級(jí)別的圖像。本課程對(duì)于需要書(shū)寫(xiě)實(shí)驗(yàn)報(bào)告,學(xué)位論文,發(fā)表文章,做報(bào)告的學(xué)員具有較大價(jià)值
    2023-02-02
  • Python getattr()函數(shù)使用方法代碼實(shí)例

    Python getattr()函數(shù)使用方法代碼實(shí)例

    這篇文章主要介紹了Python getattr()函數(shù)使用方法代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • python+matplotlib繪制旋轉(zhuǎn)橢圓實(shí)例代碼

    python+matplotlib繪制旋轉(zhuǎn)橢圓實(shí)例代碼

    這篇文章主要介紹了python+matplotlib繪制旋轉(zhuǎn)橢圓實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01

最新評(píng)論