
It would be easier to update PEP 8 to be less dogmatic about backslashes. Where parentheses work equally well, I prefer them. But for this and similar cases (asserts come to mind) I don't see why you can't use a backslash. I would certainly prefer that over a syntax change. On Tue, Jul 2, 2013 at 3:37 PM, Matthew Lefavor <mclefavor@gmail.com> wrote:
As you all know, Python supports a compound "with" statement to avoid the necessity of nesting these statements.
Unfortunately, I find that using this feature often leads to exceeding the 79-character recommendation set forward by PEP 8.
# The following is over 79 characters with open("/long/path/to/file1") as file1, open("/long/path/to/file2") as file2: pass
This can be avoided by using the line continuation character, like so:
with open("/long/path/to/file1") as file1, \ open("/long/path/to/file2") as file2: pass
But PEP-8 prefers using implicit continuation with parentheses over line continuation. PEP 328 states that using the line continuation character is "unpalatable", which was the justification for allowing multi-line imports using parentheses:
from package.subpackage import (UsefulClass1, UsefulClass2, ModuleVariable1, ModuleVariable2)
Is there a reason we cannot do the same thing with compound with statements? Has this been suggested before? If so, why was it rejected?
with (open("/long/path/to/file1") as file1, open("/long/path/to/file2") as file2): pass
I would be happy to write the PEP for this and get plugged in to the Python development process if this is an idea worth pursuing.
ML
_______________________________________________ Python-ideas mailing list Python-ideas@python.org http://mail.python.org/mailman/listinfo/python-ideas
-- --Guido van Rossum (python.org/~guido)