听起来好像反斜杠是一个好东西,但不妨试试打印C:\now:
>>> string = 'C:\now'
>>> string
'C:\now'
>>> print(string)
C:
ow
>>>
打印结果并不是我们预期的,原因是
反斜杠(\)和后边的字符(n)恰好构成了换行符(\n)。这时有朋友会说:“
用反斜杠来转义反斜杠不就可以了吗?”不错,可以这样来做:
>>> string = 'C:\\now'
>>> string
'C:\\now'
>>> print(string)
C:\now
>>>
但是如果一个
字符串里面有很多个反斜杠的时候这样就很不安逸了。不过还是有快捷的方法的,那就是
使用原始字符串。原始字符串的使用非常简单,只需要
在字符串前面加上一个字母 r 即可:
>>> string = r'C:\now'
>>> string
'C:\\now'
>>> print(string)
C:\now
>>>
注意:无论是否原始字符串,都不能以反斜杠作为结尾(反斜杠在字符串末尾表示该字符串还没有结束,还行继续的意思):
>>> string = 'fishc\'
SyntaxError: EOL while scanning string literal
>>> string = r'fishc\'
SyntaxError: EOL while scanning string literal
>>>