Что такое чистый способ создания многострочной линии with
в python? Я хочу открыть несколько файлов внутри одного with
, но это достаточно далеко, чтобы я хотел его на нескольких строках. Как это:Python multi-line with statement
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
также не любое очевидное изменение на размещении \
с.
Есть ли способ создать многострочный оператор with
, который позволяет делать комментарии внутри него?
На самом деле, большой вопрос в том, что PEP-8 говорит об этом, поскольку PEP-8 ограничивает длину строки до 80 символов, что и делает это необходимым. – Justin
Мнение: PEP-8 отлично, но я думаю, что ограничение 80 символов слишком низкое. Он основан на старых терминальных ограничениях, а не на человеческом удобстве.Я не выступаю за линии с более чем 300 персонажами, но у меня нет проблем с 120-130 или около того. – TigerhawkT3
@ TigerhawkT3 Я думаю, что ограничение 80 символов тоже слишком низкое, но я вижу преимущество, когда я работаю над проектом, который требует одновременного открытия 5 файлов. Гораздо проще видеть каждый файл. Однако я могу сделать исключение для этого файла. – Justin