可能重复:
为什么我不能用\结束一个原始字符串
鉴于r'\\'相当于'\\\\',为什么r'\'不等同于'\\'?
我在python3.2上得到的是
print(r'\')
File "<stdin>", line 1
print(r'\')
^
SyntaxError: EOL while scanning string literal
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 11
你不能将反斜杠作为原始字符串中的最后一个字符,除非它是偶数个反斜杠的一部分; 它逃脱了收盘报价.
比较这个:
>>> r'\ '
'\\ '
Run Code Online (Sandbox Code Playgroud)
从字符串文字文档:
当存在
'r'或'R'前缀时,字符串中包含反斜杠后面的字符不会更改,并且所有反斜杠都保留在字符串中.例如,字符串文字r"\n"由两个字符组成:反斜杠和小写字母'n'.字符串引号可以使用反斜杠进行转义,但反斜杠仍保留在字符串中; 例如,r"\""是一个有效的字符串文字,由两个字符组成:反斜杠和双引号;r"\"不是有效的字符串文字(即使原始字符串不能以奇数个反斜杠结尾).具体来说,原始字符串不能以单个反斜杠结尾(因为反斜杠会转义以下引号字符).
| 归档时间: |
|
| 查看次数: |
246 次 |
| 最近记录: |