Jim Garrison wrote:
Tim Chase wrote:
  >>> r"a\"
  SyntaxError: EOL while scanning string literal (<pyshell#45>, line 1)

It seems the parser is interpreting the backslash as an escape
character in a raw string if the backslash is the last character.
Is this expected?

Yep...as documented[1], "even a raw string cannot end in an odd number of backslashes".

So how do you explain this?

    >>> r'a\'b'
    "a\\'b"

The backslash is kept, but it causes the following quote to be escaped.

(The following examples are from Python 2.x.)

The other special case is with \u in a Unicode string:

>>> ur"\u0041"
u'A'

However, \x isn't special:

>>> ur"\x41"
u'\\x41'

and \u isn't a recognised escape sequence in a bytestring:

>>> r"\u0041"
'\\u0041'

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to