在python中r'\'不是一个有效的字符串值吗?

2024-04-19 07:42:50 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
why can’t I end a raw string with a \

既然r'\\'等价于'\\\\',那么{}为什么不等价于{}?在

我在我的Python3.2上看到的是

print(r'\')
  File "<stdin>", line 1
    print(r'\')
              ^
SyntaxError: EOL while scanning string literal

Tags: stringrawwithstdinlinecanfileend
1条回答
网友
1楼 · 发布于 2024-04-19 07:42:50

反斜杠不能作为原始字符串中的最后一个字符,除非它是偶数个反斜杠的一部分;它会转义右引号。在

将其与:

>>> r'\ '
'\\ '

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 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).

相关问题 更多 >