python-asyncio - 必须 __aenter__ 返回一个可等待的吗?
问题描述
我对PEP 492中给出的异步上下文管理器的定义感到困惑:
添加了两个新的魔法方法:__aenter__ 和 __aexit__。两者都必须返回一个awaitable。
示例代码是:
class AsyncContextManager:
async def __aenter__(self):
await log('entering context')
async def __aexit__(self, exc_type, exc, tb):
await log('exiting context')
但是这两个协程不返回任何东西......是吗?
这个难题的一些可能的解决方案:
- 我不明白是做什么
await
的。 - 我不知道函数如何选择它们的返回值。
- 以上两种。
解决方案
推荐阅读
- java - testNG中@BeforeTest方法的执行顺序
- python - 获取虚拟环境python包安装日期的方法
- android - Flutter:firebase_auth null 对象引用错误
- autocomplete - 修改调试控制台自动完成
- javascript - 如何使 div 内容(可能是输入、单选、复选框、数字滑块、下拉菜单等)只读并在单击按钮时启用?
- php - 使用模块结构从 Laravel 5.4 中的另一个目录扩展布局
- php - 弹性搜索产品过滤器
- python - python在文件中查找具有最多正则表达式匹配出现的部分
- c# - 使用 OxyPlot 和 Mono/C# 的内存泄漏
- wpf - 未找到 WPF MvxEventToCommand