multiple-with-statements (SIM117)
源自 flake8-simplify 代码检查器。
有时提供修复。
作用
检查多个连续上下文管理器的不必要嵌套。
为什么这不好?
在 Python 3 中,单个 with 代码块可以包含多个上下文管理器。
将多个上下文管理器合并到单个 with 语句中,可以最大限度地减少代码的缩进深度,使其更具可读性。
以下上下文管理器在用作独立语句时会被豁免
anyio.{CancelScope,fail_after,move_on_after}asyncio.{timeout,timeout_at}trio.{fail_after,fail_at,move_on_after,move_on_at}
示例
建议改为
修复安全性
此修复被标记为始终不安全,除非启用了 预览 模式,在这种情况下它始终被标记为安全。 请注意,如果该修复会删除注释(无论在哪种情况下),则该修复不可用。