国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python contextlib模塊使用示例

Python contextlib模塊使用示例

2019-11-20 22:27junjie Python

這篇文章主要介紹了Python contextlib模塊使用示例,本文著重使用contextlib模塊產生一個上下文管理器,需要的朋友可以參考下

看這個模塊要先看with as的用法,最常用的方法就是打開一個文件:

復制代碼代碼如下:

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


with可以調用一個上下文管理器,產生運行時的上下文環境。上下文管理器主要定義兩個方法,__enter__,__exit__。__enter__返回上下文里操作的對象,如f。__exit__是銷毀對象和異常處理。

 

contextlib模塊對外有三個接口,
contextmanager裝飾器,裝飾的函數必須是一個生成器。然后返回一個函數,在函數調用的時候返回一個上下文管理器。

nested為了一次調用多個上下文管理器的時候用,將所有上下文管理器里的__enter__放到vars里,一次yield返回,然后unpack。就產生多個對象了。__exit__都放到exits列表里,在finally里統一調用,這些__exit__在調用上下文管理器產生異常時,如何處理。如果返回false,將會把異常繼續拋出,返回true則不會拋出異常。

closing,這個用過,沒想到的是竟然是個類,而不是個函數。就是把有close方法卻沒有__exit__方法的對象變成一個上下文管理器。代碼很簡單:

復制代碼代碼如下:

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91久久久久久久久久久久久 | 精品久久久久久久久久久久久久 | 一级黄色免费毛片 | 天堂伊人网 | 久久国内精品 | 国产精品久久国产精品 | 国产亚洲片 | 大毛片| 中文字幕在线第一页 | 国产精品成人一区二区三区夜夜夜 | 精品国产欧美一区二区三区成人 | 51国产午夜精品免费视频 | 欧美国产日韩在线 | 免费看黄色一级视频 | 国产精品成人一区二区 | 亚洲精品视频在线观看免费 | 国内精品久久久久久久影视简单 | 欧美三级在线播放 | 久久99精品一区二区三区三区 | 午夜婷婷丁香 | 久久久久久久久久久免费视频 | 超碰美女 | 一本色道久久综合狠狠躁篇的优点 | 精品美女久久久 | 性色aⅴ免费视频 | 亚洲免费在线观看 | 国产成在线观看免费视频 | www亚洲成人 | 国产免费久久精品 | 亚洲视频精品在线 | 国产精品久久久久久久久久久久久 | 亚洲精品久久久久久久久久吃药 | 激情婷婷 | 亚洲伦理一区二区 | 伊人婷婷 | 99精品一区二区 | 久久久久久久av | 日本欧美在线 | 国产精品国产精品国产专区不片 | 欧美激情在线观看 | a欧美|