PY3.W0124
Confusing with statement
Emitted when a with statement component returns multiple values and uses name binding with as only for a part of those values, as in with ctx() as a, b. This can be misleading, since it's not clear if the context manager returns a tuple or if the node without a name binding is another context manager.
Noncompliant Code:
Copy
with open('file.txt', 'w') as fh1, fh2:
pass
Compliant Code:
Copy
from contextlib import ExitStack
with ExitStack() as stack:
fh1 = stack.enter_context(open('file1.txt', 'w'))
fh2 = stack.enter_context(open('file2.txt', 'w'))