Как правильно создать многострочный with
в python? Я хочу открыть несколько файлов внутри одного with
, но это достаточно далеко вправо, поэтому я хочу, чтобы это было на нескольких строках. Как это:
class Dummy:
def __enter__(self): pass
def __exit__(self, type, value, traceback): pass
with Dummy() as a, Dummy() as b,
Dummy() as c:
pass
К сожалению, это SyntaxError
. Итак, я попробовал это:
with (Dummy() as a, Dummy() as b,
Dummy() as c):
pass
Тоже синтаксическая ошибка. Однако это сработало:
with Dummy() as a, Dummy() as b,\
Dummy() as c:
pass
Но что, если я хочу оставить комментарий? Это не работает:
with Dummy() as a, Dummy() as b,\
# my comment explaining why I wanted Dummy() as c\
Dummy() as c:
pass
Также нет никаких очевидных изменений в размещении \
s.
Есть ли чистый способ создать многострочный оператор with
, который позволяет комментировать внутри него?
with
, так как вы не можете использовать неявное продолжение. Однако это не очень поможет в вашей ситуации, если вы хотите встроить комментарии. - person Eric Appelt   schedule 25.06.2015