當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python contextlib.closing用法及代碼示例


用法:

contextlib.closing(thing)

返回一個在塊完成後關閉thing 的上下文管理器。這本質上相當於:

from contextlib import contextmanager

@contextmanager
def closing(thing):
    try:
        yield thing
    finally:
        thing.close()

並讓您編寫如下代碼:

from contextlib import closing
from urllib.request import urlopen

with closing(urlopen('https://www.python.org')) as page:
    for line in page:
        print(line)

無需顯式關閉 page 。即使發生錯誤,退出with 塊時也會調用page.close()

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 contextlib.closing。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。