用法:
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。