为什么Python中的原始字符串(r-strings)不能以反斜杠结尾?

为什么Python中的原始字符串(r-strings)不能以反斜杠结尾?

r-strings中的“r”表示原始字符串。字符串字面值可以选择以字母“r”或“R”作为前缀;这些字符串被称为原始字符串,并使用不同的规则解释反斜杠转义序列。

当存在“r”或“R”前缀时,跟在反斜杠后面的字符将不作更改地包含在字符串中,并且所有反斜杠都留在字符串中。例如,字符串字面值r”\n”由两个字符组成:

  • 一个反斜杠和
  • 一个小写的“n”。

字符串引号可以用反斜杠转义,但是反斜杠将保留在字符串中。例如,r”””是一个有效的字符串字面值,由两个字符组成:

  • 一个反斜杠和
  • 一个双引号;

r””不是有效的字符串字面值。具体而言,原始字符串不能以单个反斜杠结尾。单个反斜杠后面跟着换行符将被解释为字符串的一部分,而不是行的延续。

对于Windows路径名,Windows系统调用也接受斜杠 –

f = open("/mydir/demo.txt")

一个DOS命令的路径名 –

dir = r"\this\is\my\dos\dir" ""
dir = r"\this\is\my\dos\dir\ "[:-1]
dir = "\this\is\my\dos\dir"

阅读更多:Python 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程