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

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

更准确地说,它们不能以奇数个反斜杠结束:结尾处的不成对反斜杠会转义结束引号字符,留下未结束的字符串。

原始字符串的设计是为了方便想要执行自己的反斜杠转义处理的处理器(主要是正则表达式引擎)创建输入。此类处理器将不匹配的尾随反斜杠视为错误,因此原始字符串不允许这样做。反过来,允许通过使用引号字符转义反斜杠转义字符串。当r-string用于它们的预期目的时,这些规则工作的很好。

如果您正在尝试构建Windows路径名,请注意所有Windows系统调用都使用正斜杠:

f = open("/mydir/file.txt")  # works fine!
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python中为什么原始字符串(r-strings)不能以反斜杠结尾?