一尘不染

为什么我不能用反斜杠结束原始字符串?

python

我在这里感到困惑,即使原始字符串将每个字符串都转换\为,\\但是当\最终出现时,它将引发错误。

>>> r'so\m\e \te\xt'
'so\\m\\e \\te\\xt'

>>> r'so\m\e \te\xt\'
SyntaxError: EOL while scanning string literal

更新:

现在,Python常见问题也涵盖了这一点:为什么原始字符串(r-strings)不能以反斜杠结尾?


阅读 144

收藏
2020-12-20

共1个答案

一尘不染

您仍然需要\转义'"使用原始字符串,因为否则python解释器将不知道字符串在何处停止。在您的示例中,您将转义结束'

除此以外:

r'it wouldn\'t be possible to store this string'
r'since it'd produce a syntax error without the escape'

查看突出显示的语法,以了解我的意思。

2020-12-20