Python Literal r'\' Not Accepted

前端 未结 5 2075
感情败类
感情败类 2021-01-17 08:25

r\'\\\' in Python does not work as expected. Instead of returning a string with one character (a backslash) in it, it raises a SyntaxError. r\"\\\"

5条回答
  •  情话喂你
    2021-01-17 08:51

    This is in accordance with the 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 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). Note also that a single backslash followed by a newline is interpreted as those two characters as part of the string, not as a line continuation.

    Use "\\" instead, or, better even, use / as path separator (yes, this works on Windows).

提交回复
热议问题