用法:
class contextlib.aclosing(thing)
返回一個異步上下文管理器,該管理器在塊完成時調用
thing
的aclose()
方法。這本質上相當於:from contextlib import asynccontextmanager @asynccontextmanager async def aclosing(thing): try: yield thing finally: await thing.aclose()
值得注意的是,
aclosing()
支持在異步生成器因break
或異常而提前退出時對它們進行確定性清理。例如:from contextlib import aclosing async with aclosing(my_generator()) as values: async for value in values: if value == 42: break
這種模式確保生成器的異步退出代碼在與其迭代相同的上下文中執行(以便異常和上下文變量按預期工作,並且退出代碼在它所依賴的某些任務的生命周期之後不會運行)。
3.10 版中的新函數。
相關用法
- Python contextlib.AsyncContextDecorator用法及代碼示例
- Python contextlib.AsyncExitStack用法及代碼示例
- Python contextlib.ExitStack.pop_all用法及代碼示例
- Python contextlib.redirect_stdout用法及代碼示例
- Python contextlib.ExitStack用法及代碼示例
- Python contextlib.contextmanager用法及代碼示例
- Python contextlib.closing用法及代碼示例
- Python contextlib.nullcontext用法及代碼示例
- Python contextlib.ContextDecorator用法及代碼示例
- Python contextlib.suppress用法及代碼示例
- Python contextvars.ContextVar.reset用法及代碼示例
- Python contextvars.Context.run用法及代碼示例
- Python configparser.ConfigParser.readfp用法及代碼示例
- Python configparser.ConfigParser.BOOLEAN_STATES用法及代碼示例
- Python configparser.BasicInterpolation用法及代碼示例
- Python configparser.ExtendedInterpolation用法及代碼示例
- Python configparser.ConfigParser.SECTCRE用法及代碼示例
- Python configparser.ConfigParser.read用法及代碼示例
- Python collections.somenamedtuple._replace用法及代碼示例
- Python collections.somenamedtuple._asdict用法及代碼示例
注:本文由純淨天空篩選整理自python.org大神的英文原創作品 contextlib.aclosing。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。