120 lines
2.5 KiB
Python
120 lines
2.5 KiB
Python
with (open("bla.txt")):
|
|
pass
|
|
|
|
with (open("bla.txt")), (open("bla.txt")):
|
|
pass
|
|
|
|
with (open("bla.txt") as f):
|
|
pass
|
|
|
|
# Remove brackets within alias expression
|
|
with (open("bla.txt")) as f:
|
|
pass
|
|
|
|
# Remove brackets around one-line context managers
|
|
with (open("bla.txt") as f, (open("x"))):
|
|
pass
|
|
|
|
with ((open("bla.txt")) as f, open("x")):
|
|
pass
|
|
|
|
with (CtxManager1() as example1, CtxManager2() as example2):
|
|
...
|
|
|
|
# Brackets remain when using magic comma
|
|
with (CtxManager1() as example1, CtxManager2() as example2,):
|
|
...
|
|
|
|
# Brackets remain for multi-line context managers
|
|
with (CtxManager1() as example1, CtxManager2() as example2, CtxManager2() as example2, CtxManager2() as example2, CtxManager2() as example2):
|
|
...
|
|
|
|
# Don't touch assignment expressions
|
|
with (y := open("./test.py")) as f:
|
|
pass
|
|
|
|
# Deeply nested examples
|
|
# N.B. Multiple brackets are only possible
|
|
# around the context manager itself.
|
|
# Only one brackets is allowed around the
|
|
# alias expression or comma-delimited context managers.
|
|
with (((open("bla.txt")))):
|
|
pass
|
|
|
|
with (((open("bla.txt")))), (((open("bla.txt")))):
|
|
pass
|
|
|
|
with (((open("bla.txt")))) as f:
|
|
pass
|
|
|
|
with ((((open("bla.txt")))) as f):
|
|
pass
|
|
|
|
with ((((CtxManager1()))) as example1, (((CtxManager2()))) as example2):
|
|
...
|
|
|
|
# output
|
|
with open("bla.txt"):
|
|
pass
|
|
|
|
with open("bla.txt"), open("bla.txt"):
|
|
pass
|
|
|
|
with open("bla.txt") as f:
|
|
pass
|
|
|
|
# Remove brackets within alias expression
|
|
with open("bla.txt") as f:
|
|
pass
|
|
|
|
# Remove brackets around one-line context managers
|
|
with open("bla.txt") as f, open("x"):
|
|
pass
|
|
|
|
with open("bla.txt") as f, open("x"):
|
|
pass
|
|
|
|
with CtxManager1() as example1, CtxManager2() as example2:
|
|
...
|
|
|
|
# Brackets remain when using magic comma
|
|
with (
|
|
CtxManager1() as example1,
|
|
CtxManager2() as example2,
|
|
):
|
|
...
|
|
|
|
# Brackets remain for multi-line context managers
|
|
with (
|
|
CtxManager1() as example1,
|
|
CtxManager2() as example2,
|
|
CtxManager2() as example2,
|
|
CtxManager2() as example2,
|
|
CtxManager2() as example2,
|
|
):
|
|
...
|
|
|
|
# Don't touch assignment expressions
|
|
with (y := open("./test.py")) as f:
|
|
pass
|
|
|
|
# Deeply nested examples
|
|
# N.B. Multiple brackets are only possible
|
|
# around the context manager itself.
|
|
# Only one brackets is allowed around the
|
|
# alias expression or comma-delimited context managers.
|
|
with open("bla.txt"):
|
|
pass
|
|
|
|
with open("bla.txt"), open("bla.txt"):
|
|
pass
|
|
|
|
with open("bla.txt") as f:
|
|
pass
|
|
|
|
with open("bla.txt") as f:
|
|
pass
|
|
|
|
with CtxManager1() as example1, CtxManager2() as example2:
|
|
...
|