representing a literal single slash
Padraig Brady
Padraig at Linux.ie
Mon Sep 16 06:01:01 EDT 2002
Terry Reedy wrote:
> "Padraig Brady" <padraig at linux.ie> wrote in message
> news:3D84FEE6.90600 at linux.ie...
>
>>>mystr = mystr.replace(r'\\', r'\')
>>
>>Emm this actually doesn't work. Why can't you:
>>s=r'\'
>>Is it a bug?
>
>
> Ref Manual 4.1:
> 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 literal
> r"\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)
But there is no escaping when the prefix r is used?
I guess there is a good reason for this inconsitency?
Pádraig.
More information about the Python-list
mailing list