python原始字符串表示法抛出斜杠的错误

时间:2017-01-05 17:38:56

标签: python

我尝试使用原始字符串表示法在python中设置字符串变量的路径,并且使用尾部斜杠得到错误:

datapath = r'C:\path\to\my\data\'

在扫描字符串文字时给了我一个" EOL"错误

我认为原始字符串表示法应该在字符串文字中创建所有内容。有人可以向我解释一下吗?

由于

2 个答案:

答案 0 :(得分:3)

字符串的结束引用有一个例外,因为:

C:\path\to\my\data\'

从字面上看',因为上一个反斜杠不被视为转义字符,因此字符串解析会继续。

尽管令人沮丧,但你必须做r'C:\path\to\my\data\\'

答案 1 :(得分:2)

文档以这种方式定义字符串文字:

stringliteral   ::=  [stringprefix](shortstring | longstring)

您正在使用 r stringprefix。

然后我们对字符串中的字符进行了这些定义:

shortstringchar ::=  <any source character except "\" or newline or the quote>
longstringchar  ::=  <any source character except "\">

您会注意到,向后斜杠

相关问题