Possible Duplicate:
why can’t I end a raw string with a \
Given r'\\' is equivalent to '\\\\', why r'\' isn't equivalent to '\\'?
What I got on my python3.2 was
print(r'\')
File "<stdin>", line 1
print(r'\')
^
SyntaxError: EOL while scanning string literal
You cannot have a backslash as the last character in a raw string unless it is part of an even number of backslashes; it escapes the closing quote.
Compare this to:
>>> r'\ '
'\\ '
From the string literal documentation:
When an
'r'or'R'prefix is present, a character following a backslash is included in the string without change, and all backslashes are left in the string. For example, the string literalr"\n"consists of two characters: a backslash and a lowercase'n'. String quotes can be escaped with a backslash, but the backslash remains in the string; for example,r"\""is a valid string literal consisting of two characters: a backslash and a double quote;r"\"is not a valid string literal (even a raw string cannot end in an odd number of backslashes). Specifically, a raw string cannot end in a single backslash (since the backslash would escape the following quote character).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With