On Jul 03, 2013, at 08:38 AM, Guido van Rossum wrote:
Clearly some people have interpreted this dogmatically as "never use backslashes", so I think we should explicitly update the PEP with more moderate language and an example.
How about this: diff -r bd8e5c86fb27 pep-0008.txt --- a/pep-0008.txt Wed Jul 03 00:44:58 2013 +0200 +++ b/pep-0008.txt Wed Jul 03 11:46:07 2013 -0400 @@ -158,9 +158,19 @@ line continuation inside parentheses, brackets and braces. Long lines can be broken over multiple lines by wrapping expressions in parentheses. These should be used in preference to using a backslash -for line continuation. Make sure to indent the continued line -appropriately. The preferred place to break around a binary operator -is *after* the operator, not before it. Some examples:: +for line continuation. + +Backslashes may still be appropriate at times. For example, long, +multiple ``with``-statements cannot use implicit continuation, so +backslashes are acceptable:: + + with open('/path/to/some/file/you/want/to/read') as file_1, \ + open('/path/to/some/file/being/written', 'w') as file_2: + file_2.write(file_1.read()) + +Make sure to indent the continued line appropriately. The preferred +place to break around a binary operator is *after* the operator, not +before it. Some examples:: class Rectangle(Blob):